コマンドの出力値を取得(xargs で受け取った中で)


こんにちは。
コマンドの出力値を($(command))、xargs で受け取った中で取得しました。コメントをいただき、正しく動くように修正しました。今回例では basename コマンドの出力値を確認しています。

$ find . -name "*.txt" | xargs -I% sh -c 'echo "$(basename "%" .txt)"'
a
b
$ ls .
a.txt  b.txt

while read ループ利用

while read ループ利用でも試しました。

$ find . -name "*.txt" | while read f; do echo "$(basename "$f" .txt)"; done
a
b