名前は同じですが、ファイル拡張子が異なるファイルを削除する

名前は同じですが、ファイル拡張子が異なるファイルを削除する

私の写真ライブラリはめちゃくちゃです。次のファイルがあります。

image-1.jpg 
image-1.jpeg
image-2.jpg

名前は同じですが、拡張子が.jpgのファイルがある場合は、拡張子が.jpegの写真をすべて削除したいと思います。

どうすればいいですか?

ベストアンサー1

for f in *.jpeg; do
  [ -e "${f%.*}.jpg" ] && echo rm -- "$f"
done

(満足したら削除してくださいecho)。

zshワンコールでrm

echo rm -- *.jpeg(e'{[ -e $REPLY:r.jpg ]}')

(これを繰り返し実行するように*変更し**/*D隠しファイルや隠しディレクトリのファイルを考慮するには、glob修飾子を追加してください。)

おすすめ記事