我正在使用下面的脚本将超过一天的文件移动到其他目录,我只是用一个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
它工作正常。
我在原始脚本中遗漏的确切逻辑是什么?