-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
1
Havee 2016-03-17 17:45:49 +08:00
文件名前后都有 "." 的移出来
|
2
Havee 2016-03-17 17:46:23 +08:00
文件名字母 log 前后都有 "." 的移出来
|
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
|
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 |