デジタル土方戦記

量産型文系プログラマの備忘録的なもの

【小ネタ】nヵ月以前に作成された対象のファイルを全て消す

仕事で古いlogファイルを消すときに使ったコマンド

 

【n月以前に作成された対象のファイルを全て消す】

ls -ld [削除対象ディレクトリ]/* | tr -d "月" | grep -iE "*\.log" | awk '{if($6 <=9(※nヵ月の指定)) print $9}' | xargs rm

 

【ls -ld [削除対象ディレクトリ]/*】

削除対象のディレクトリ内のファイルを全て表示

※フルパスを表示させるのがポイント

試しに9月に作ったa.log b.log c.logを消す

f:id:moffu_mofu:20180924210432p:plain

 

あとは"月"が邪魔なので除去して拡張子で絞り込んで

awkで条件を指定して対象だけ削除している

 

現場では西暦も条件指定した(家の端末だと表示されてないけど)