同名のファイルを削除

同名のファイルを削除

私は何年もスクリプトを書いていなかったので、以下で助けることができる人がいるかどうか疑問に思います。

GoogleフォトからAmazonフォト(写真約40,000枚)に移行しようとしています。以下は、Googleからダウンロードした例です。

IMG-20180601-WA0004-modifié.jpg
IMG-20180601-WA0004.jpg
IMG-20180601-WA0004.jpg.json
IMG-20180601-WA0005-modifié.jpg
IMG-20180601-WA0005.jpg
IMG-20180601-WA0005.jpg.json
IMG-20180601-WA0008-modifié.jpg
IMG-20180601-WA0008.jpg
IMG-20180601-WA0008.jpg.json
IMG-20180601-WA0009-modifié.jpg
IMG-20180601-WA0009.jpg
IMG-20180601-WA0009.jpg.json
IMG-20180601-WA0010-modifié.jpg
IMG-20180601-WA0010.jpg
IMG-20180601-WA0010.jpg.json
IMG-20180601-WA0011-modifié.jpg
IMG-20180601-WA0011.jpg
IMG-20180601-WA0011.jpg.json
IMG-20180601-WA0013-modifié.jpg
IMG-20180601-WA0013.jpg
IMG-20180601-WA0013.jpg.json
IMG-20180601-WA0014-modifié.jpg
IMG-20180601-WA0014.jpg
IMG-20180601-WA0014.jpg.json
IMG-20180601-WA0015-modifié.jpg
IMG-20180601-WA0015.jpg
IMG-20180601-WA0015.jpg.json
IMG-20180601-WA0020.jpg
IMG-20180601-WA0020.jpg.json
IMG-20180601-WA0036-modifié.jpg
IMG-20180601-WA0036.jpg
IMG-20180601-WA0036.jpg.json
VID-20180601-WA0012.mp4.json
VID_20180601_195857.mp4.json
métadonnées.json

私は以下が欲しい:

  1. 写真をダウンロードしたデフォルトフォルダ内のすべてのディレクトリを検索し、
  2. mov、mp4、mpeg、mpg、avi、m4v、wmvなどのすべてのビデオファイルを削除します。(時にはファイル拡張子が大文字の場合もあります。)
  3. 写真の場合、ほとんどのファイル名が重複していることがわかります(1つは「modifié」という言葉がなく、もう1つは「modifié」という言葉があります)。すべてのファイルにIMG-20180601-WA0020.jpgのような「修正された」バージョンがあるわけではありません。元のファイルに「modifié」バージョンがない場合を除き、ファイル名に「modifié」という単語が含まれていないすべての写真を削除してアーカイブしたいと思います。(IMG-20180601-WA0020.jpgは保持されている例です)
  4. ビデオファイルと関係がない場合はjsonファイルを保存し、それ以外の場合は削除することをお勧めします。

ベストアンサー1

すべてのビデオファイルを削除する方法は次のとおりです。

find . -type f \( -iname '*.mp4' -o -iname '*.mp4.json' \) -delete

-o -iname '*.suffix'必要な他のサフィックスの詳細を追加します。


変更のために元のイメージを削除するには、次のコマンドを実行します。

find . -name '*-modifié.jpg' -exec sh -c 'rm -f $(echo "$1" | sed s/-modifié//)' _ {} \;

変更されていないバージョンを持つすべてのファイルを見つけて、変更されていない-modifiéバージョンを削除します(rm -f変更されていないバージョンがないとエラーメッセージは表示されません)。

PS:問題が発生した場合に備えて、このコマンドを修正/実行する前にバックアップを実行することをお勧めします。

おすすめ記事