我怎么才能在循环中做到这一点呢?
我需要将小脚本放在cron选项卡中,这将获取实际日志,并将它们放入log-1文件中。重命名log-1文件到log-2文件.Bassicaly我需要一周前的日志文件,按log-1排序为日志-7日志,其中log-7是7天前的日日志,每天更新。
Bassicaly我需要在一个小循环中这样做,并且在语法上有问题:
mv log-6 log-7
mv log-5 log-6
mv log-4 log-5
mv log-3 log-4
mv log-2 log-3
mv log-1 log-2
mv logactual log-1发布于 2014-04-15 10:04:18
你可以:
for ((i=7; i>=2; i--)); do mv "log-$((i-1))" "log-$i"; done; mv logactual log-1
mv log-6 log-7
mv log-5 log-6
mv log-4 log-5
mv log-3 log-4
mv log-2 log-3
mv log-1 log-2
mv logactual log-1发布于 2014-04-15 10:10:48
虽然我同意你的问题显示出一些缺乏努力,但我无法抗拒挑战。;)
for file in log-*
do
lognr=$(echo $file | sed "s/log-\(\d*\)/\1/")
mv "$file" "log-$(expr $lognr + 1)"
done
mv logactual log-1发布于 2014-04-15 10:15:25
谢谢你的回答,由于缺乏努力,我有:
COUNTER=7
until [ $COUNTER -gt 0 ]; do
mv log-($COUNTER -1) log-$COUNTER
let COUNTER-=1
done不知道如何做日志($COUNTER -1)并且在谷歌上搜索它时遇到困难。
https://stackoverflow.com/questions/23080453
复制相似问题