私はLinuxのシェルスクリプトで7日間以上古いすべてのファイルを削除する必要がターゲット環境でLinuxのシェルスクリプト内の日付に基づいてファイルを見つけずに見つけて削除するにはどうしたらいいですか?
を「検索」使用することはできませんのでご注意ください。次のようなもの:
FILES=./path/to/dir
for f in $FILES
do
echo "Processing $f file..."
# take action on each file. $f store current file name
# perhaps stat each file to get the last modified date and then delete files with date older than today -7 days.
done
これを行うには「stat」を使用できますか?私は
find *.gz -mtime +7 -delete
を使用しようとしているが、私は、ターゲットシステム上で見つける使用できないことが発見された(そこのcronのユーザーには許可されず、これを変更することはできません)。ターゲットシステムはRedhat Enterpriseです。ファイル名は次のようにフォーマットされている
:
私は持っていますこのコードを使用して試みたが、単にこの出力を得る:1325559634 1324944000 LT 1325559634 LT 1324944000 1325559635 LT 1324944000 1325559635 1324944000 LT 1325559635 LT 1324944000 1325559635 LT 1324944000 1325559635 LT 1324944000 1325559635 LT 1324944000 1325559635 LT 1324944000 1325559635 LT 1324944000 1325559635 LT 1324944000 1325559635 LT 1324944000 1325559635 LT 1324944000 1325559635 LT 1324944000 – codecowboy
エコー "のrm -f $ F" を実行すると思われることはありません。ファイルは次のようになります - eeSwap_2011-12-20.gz正規表現はこのファイル名を正しくキャッチしますか? – codecowboy
それはts = 'date -d $ date | date + "%s"はts = 'date -d" $ date "+"%s "'にする必要があります。 – codecowboy