コマンド出力の各行にシェルコマンドを適用するにはどうすればよいでしょうか? 質問する

コマンド出力の各行にシェルコマンドを適用するにはどうすればよいでしょうか? 質問する

コマンドからの出力(次のようなものls -1)があるとします。

a
b
c
d
e
...

echoそれぞれにコマンド( とします)を順番に適用したいと思います。例:

echo a
echo b
echo c
echo d
echo e
...

bash でそれを実行する最も簡単な方法は何ですか?

ベストアンサー1

おそらく最も簡単に使用できるでしょうxargs。あなたの場合は次のようになります。

ls -1 | xargs -L1 echo

この-Lフラグは、入力が適切に読み取られることを保証します。のマニュアルページから引用しますxargs

-L number
    Call utility for every number non-empty lines read. 
    A line ending with a space continues to the next non-empty line. [...]

おすすめ記事