ファイル名が作成日のファイルフォルダがある場合:
2019_04_30.txt
2019_04_15.txt
2019_04_10.txt
2019_02_20.txt
2019_01_05.txt
ファイル名を今日の現在の日付と比較する方法
$ date "+%Y_%m_%d"
>>> 2019_04_30
ファイル名が30日より古い場合は削除されます。やっぱり手に入れて欲しい
2019_04_30.txt
2019_04_15.txt
2019_04_10.txt
この命名規則に従う必要はなく、より適切な日付形式を使用できます。
ベストアンサー1
以下はbashソリューションです。
f30days=$(date +%s --date="-30 days")
for file in 20*.txt; do
fdate=$(echo $file | tr _ -)
fsec=$(date +%s --date=${fdate/.txt/})
if [[ $fsec -lt $f30days ]]; then
echo "rm $file"
fi
done
echo rm $file
実際にファイルを削除する代わりに ""で終わりましたが、これは以前に結果をテストします。