我有一个日期和时间格式,如下(年月日):
我需要将作业的年份、月份、日期、小时和分钟值分别存储到变量中。
我可以这样做,例如获取年份、日期和小时:
这句话的英译中文是:“我该如何为月份和分钟做到这一点?”
“--”
“并且我需要我的日志文件中的每一行都是这样的:”
我正在尝试逐行读取这个日志文件并执行这个操作:
这是我的不起作用的代码:
20141105 11:30:00
我需要将作业的年份、月份、日期、小时和分钟值分别存储到变量中。
我可以这样做,例如获取年份、日期和小时:
year=$(awk '{print $1}' log.log | sed 's/^\(....\).*/\1/')
day=$(awk '{print $1}' log.log | sed 's/^.*\(..\).*/\1/')
hour=$(awk '{print $2}' log.log | sed 's/^\(..\).*/\1/')
这句话的英译中文是:“我该如何为月份和分钟做到这一点?”
“--”
“并且我需要我的日志文件中的每一行都是这样的:”
20141105 11:30:00 /bla/text.1
20141105 11:35:00 /bla/text.2
20141105 11:40:00 /bla/text.3
....
我正在尝试逐行读取这个日志文件并执行这个操作:
mkdir -p "/bla/backup/$year/$month/$day/$hour/$minute"
mv $file "/bla/backup/$year/$month/$day/$hour/$minute"
这是我的不起作用的代码:
#!/bin/bash
LOG=/var/log/LOG
while read line
do
year=${line:0:4}
month=${line:4:2}
day=${line:6:2}
hour=${line:9:2}
minute=${line:12:2}
file=$(awk '{print $3}')
if [ -f "$file" ]; then
printf -v path "%s/%s/%s/%s/%s" $year $month $day $hour $minute
mkdir -p "/bla/backup/$path"
mv $file "/bla/backup/$path"
fi
done < $LOG