私は-exec
findコマンドのフラグで遊んでいます。私はかなり新しいLinuxディストリビューションを使用してファイル拡張子を印刷するためにこのフラグを使用しようとしています。
簡単に始めると、次のように動作します。
find . -type f -exec echo {} \;
便利なBash文字列関数を使用しようとして失敗しました。
find . -type f -exec echo "${{}##*.}" \; (bad substitution)
それでは、正しいアプローチは何ですか?
ベストアンサー1
シェルパラメータ拡張を使用するには、次のようにいくつかのシェルを実行しますexec
。
find . -type f -exec sh -c 'echo "${0##*.}"' {} \;