我使用下面的脚本来移动超过一天到其他目录旧文件,我只是用echo
声明其是否工作正常,检查老。移动文件比
for i in `ls -lhrt | grep TRACK`
do
for j in `$i | awk '{print $7}'`
do
if [[ $j -lt $((`date | awk '{print $3}'` - 1)) ]];
then echo $j less than $((`date | awk '{print $3}'` - 1))
fi
done
done
但我看到一些错误和脚本不能正常工作。如果我做一个ls -lhrt | grep TRACK | awk '{print $7}'
,它工作正常,并返回日期(数字字段)。
如果我像修改剧本:
for i in `ls -lhrt | grep TRACK | awk '{print $7}'`
do
if [[ $i -lt $((`date | awk '{print $3}'` - 1)) ]];
then echo $i less than $((`date | awk '{print $3}'` - 1))
fi
done
它工作正常不过。
什么是我在原来的剧本错过了准确的逻辑是什么?
我敢肯定,你可以用''mtime + 1'或'-ctime + 1'选项来查找。 –
@paul:是的。但我只是想知道这个特定脚本可能会出现什么问题。 Mant谢谢 –
我不确定你想要完成什么,但是你的''j'行试图执行$ i中的任何内容,并将其输出传递给awk。我怀疑你的意思是要回传$ i并将其传递给awk。 –