名前に部分文字列が含まれていない場合は、ファイルを削除する

名前に部分文字列が含まれていない場合は、ファイルを削除する

フォルダ内のファイルを削除するには、次のコマンドを使用しています。しかし、私のコマンドはすべてを削除することです。

ionice -c 3 find . -type f -print -delete

サフィックスがある場合は、ファイルを削除したくありません_y

私のフォルダの表示は次のとおりです。

123a.jpg -> Should delete
4567.jpg -> Should delete
7644_y.png -> Should not delete
12234_y.jpeg -> Should not delete
5753.jpg -> Should delete

私のコマンドはこれをどのように達成すべきですか?

ベストアンサー1

あなたの例によると、以下を含む名前を除外したいと思います。_y サブストリング

find . -type f ! -name '*_y*' -print -delete

ionice -c 3必要に応じて前に使用しても構いませんが、何をしても構いませんfind。)

_yデフォルトの名前の末尾にのみファイルをアーカイブするには(したがって12234_y_.jpeg削除されます)、次のものを使用できます。

find . -type f ! -name '*_y.*' -print -delete

おすすめ記事