「find」のファイル名からパスコマンドを除外します。

「find」のファイル名からパスコマンドを除外します。

次のサブフォルダーを含む既定のフォルダーがあります。

  • f1
  • f2

各サブフォルダにはjpeg / jpgファイルがあります。これにより、次find . -maxdepth 2 -type f -iname '*.jp*g'のような結果が得られます。

  • ./f1/IM_48902.jpg
  • ./f1/IM_48903.jpg
  • ./f2/IM_48900.jpg
  • ./f2/IM_48904.jpg

出力から「/f1」と「/f2」を除いて、このような出力を取得するにはどうすればよいですか?

  • ./IM_48902.jpg
  • ./IM_48903.jpg
  • ./IM_48900.jpg
  • ./IM_48904.jpg

[UPD]私の完全なスクリプトはfind . -maxdepth 2 -type f -iname '.jpg' ! -path "/excluded/" -print0 | xargs -I{} -0 -n1 -P3 sh -c 'exiv2 -q -K Xmp.dc.creator -K Xmp.photoshop.Credit -Pv "$1" > "/Users/adm/Desktop/$1.out"' -- {}

ベストアンサー1

GNU 検索を使用すると、この-printf操作を使用します。バラよりman find

find . -maxdepth 2 -type f -iname '*.jp*g' -printf "%f\n"

おすすめ記事