検索で拡張子を省略しますか?


11

複数の.pngファイルからサムネイルを作成する必要があり、ImageMagicks convertユーティリティを使用してこれを実行したいと考えています。それ自体がサムネイルではないすべてのファイルを再帰的に見つけるために、次の呼び出しを使用しています(読みやすくするために2行に分割しています)。

find . -type f -name "*.png" -not -name "*thumb.png*" \
  -exec convert {} -thumbnail 200x200 {}.thumb.png \;`

しかし、これはもちろん、というファイルでa.png.thumb.png実行したときにという名前のファイルを作成しますa.png。変換に渡される.png2番目の{}パラメーターから拡張子を削除するにはどうすればよいですか?

回答:


14

これを行う最も簡単な方法は{}、シェルにlike を渡しshて、シェルにそれを行わせることです。

find ... \
    -exec sh -c 'convert "$0" -thumbnail 200x200 "${0%.png}.thumb.png"' {} \;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.