以下のスクリプトを使用して、1日より古いファイルを他のディレクトリに移動していますが、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
それでも問題なく動作します。
元のスクリプトで欠落している正確なロジックは何ですか?