GNU/Linux >> Linux の 問題 >  >> Linux

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

複数の.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というファイルで実行する場合 。 .pngを削除するにはどうすればよいですか 2番目の{}からの拡張 変換するために渡されたパラメータ?

承認された回答:

これを行う最も簡単な方法は、{}を渡すことです。 shのようなシェルに移動します シェルにそれをさせます:

find ... 
    -exec sh -c 'convert "$0" -thumbnail 200x200 "${0%.png}.thumb.png"' {} ;

Linux
  1. Linuxではfindをfdに置き換えます

  2. findコマンドを使用して権限を監査する方法

  3. Linuxで検索および検索コマンドを使用してファイルを検索する

  1. Linuxでfdコマンドを使用してファイルを検索する方法

  2. Linuxはサイズ0のファイルを削除します

  3. 特定の拡張子を持つファイルを再帰的に見つける

  1. ファイルを検索して tar (スペースを含む)

  2. Linuxで特定の親ディレクトリを持つすべてのファイルを見つける方法は?

  3. ACL が設定されたファイルを検索