V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
evenno
V2EX  ›  CentOS

关于 shell 问题,麻烦大神指点

  •  
  •   evenno · Mar 17, 2016 · 2698 views
    This topic created in 3700 days ago, the information mentioned may be changed or developed.

    -rw-rw-r-- 1 ltn ltn 4904497 Mar 17 17:22 common-default.log -rw-rw-r-- 1 ltn ltn 3935188 Mar 15 23:59 common-default.log.2016-03-15.log -rw-rw-r-- 1 ltn ltn 7070783 Mar 16 23:59 common-default.log.2016-03-16.log -rw-rw-r-- 1 ltn ltn 5297 Mar 17 16:24 common-error.log -rw-rw-r-- 1 ltn ltn 6185 Mar 15 12:30 common-error.log.2016-03-15.log -rw-rw-r-- 1 ltn ltn 5307 Mar 16 11:14 common-error.log.2016-03-16.log

    日志切割出来是这种格式

    我现在想写个脚本,就是结尾有日期的 log , mv 到另一个文件夹下,对这个日期的 log ,变量不知道如何写,附上 shell #!/bin/bash

    logfile="*.[0-9]-[0-9]-[0-9].log"

    if [ $# != 2 ] then echo "USAGE: $0 Souce_dir Target_dir" exit 1 fi

    if [[ -d "$1" ]]; then cd $1; else echo "No Such directory $1"; exit 2 fi

    mv $logfile $2

    报错是这样的 mv: cannot stat `*.[0-9]-[0-9]-[0-9].log': No such file or directory

    4 replies    2016-03-17 23:01:01 +08:00
    Busy
        1
    Busy  
       Mar 17, 2016
    文件名前后都有 "." 的移出来
    Busy
        2
    Busy  
       Mar 17, 2016
    文件名字母 log 前后都有 "." 的移出来
    zava
        3
    zava  
       Mar 17, 2016
    ls | grep -P '\d{4}-\d{2}-d{2}\.log' | xargs -I {} mv {} /your/dir
    xmgit
        4
    xmgit  
       Mar 17, 2016
    样本
    common-default.log
    common-default.log.2016-03-15.log
    common-default.log.2016-03-16.log
    common-error.log
    common-error.log.2016-03-15.log
    common-error.log.2016-03-16.log

    要求带时间的备份

    用什么正则,难道不是计划任务直接跑 mv *.log.* /your/path
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2894 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 09:14 · PVG 17:14 · LAX 02:14 · JFK 05:14
    ♥ Do have faith in what you're doing.