パス名からファイル名を取得する方法

パス名からファイル名を抽出する場合は、basenameコマンドを使うと簡単です。

$ find . -name "test.txt"
 /aaa/bbb/ccc/test.txt

 $ find . -name "test.txt" | xargs -I %% basename %%
 test.txt

また、ファイル名の拡張子のみ変更したい場合は、【bashの文字列処理】で拡張子を取り除いて新しい拡張子を付与すると簡単です。

$ find . -name "test.txt" | xargs -I %% bash -c 'echo ${0/.txt}.new' %%
 /aaa/bbb/ccc/test.new
関連記事