Unixで実装する必要のあるシナリオが1つあります。ディレクトリ内で、ファイルの最後に追加された日付に基づいてファイルを削除したいのですが、これらのファイルはXMLバックファイルです。以下の基準に基づいてファイルを削除する必要があります。ファイルのセットに3つの最後の日付ファイル(ファイルに追加された日付)のみを保持し、残りのファイルを削除します。
ディレクトリファイル:-
セット1:
Wf_ABC_201801011224.xml
wf_ABC_201801011220.xml
Wf_ABC_201801011241.xml
wf_ABC_201801011230.xml
Wf_ABC_201801011244.xml
wf_ABC_201801011260.xml
セット2:
Wf_DCB_201501021224.xml
wf_DCB_201601031220.xml
Wf_DCB_201601041241.xml
wf_DCB_201401051230.xml
Wf_DCB_201701061244.xml
wf_DCB_201801061260.xml
セット3:
Wf_XYZ_201501011224.xml
wf_XYZ_201601011220.xml
Wf_XYZ_201701011241.xml
wf_XYZ_201801011230.xml
Wf_XYZ_201801021244.xml
wf_XYZ_201801031260.xml
Wf_XYZ_201501041224.xml
wf_XYZ_201601051220.xml
Wf_XYZ_201601061241.xml
wf_XYZ_201401071230.xml
Wf_XYZ_201701081244.xml
wf_XYZ_201801091260.xml
これを試して、
D1=`date -d "1 day ago" +"%Y%m%d"` && D2=`date -d "2 day ago" +"%Y%m%d"` && D=`date +"%Y%m%d"` && find . -type f -name "wf_*_*.xml" -not -name "wf_*_$D*.xml" -not -name "wf_*_$D1*.xml" -not -name "wf_*_$D2*.xml" -exec rm {} +
wf_*_*.xml
wf_*_$D*.xml
、wf_*_$D1*.xml
そしてwf_*_$D2*.xml
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加