V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
evenno
V2EX  ›  CentOS

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

  •  
  •   evenno · 2016-03-17 17:27:57 +08:00 · 2261 次点击
    这是一个创建于 3202 天前的主题,其中的信息可能已经有所发展或是发生改变。

    -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 条回复    2016-03-17 23:01:01 +08:00
    Havee
        1
    Havee  
       2016-03-17 17:45:49 +08:00
    文件名前后都有 "." 的移出来
    Havee
        2
    Havee  
       2016-03-17 17:46:23 +08:00
    文件名字母 log 前后都有 "." 的移出来
    zava
        3
    zava  
       2016-03-17 21:16:22 +08:00
    ls | grep -P '\d{4}-\d{2}-d{2}\.log' | xargs -I {} mv {} /your/dir
    Bardon
        4
    Bardon  
       2016-03-17 23:01:01 +08:00
    样本
    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
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3652 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:01 · PVG 13:01 · LAX 21:01 · JFK 00:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.