次いで、ハイフン(STDIN)forループの代替としてパイプ

user171558:

私はいくつかのファイル名に関連付けられているIDのセットを抽出するためのawkコマンドをsedを書きました。私はからこれらのファイル名を使用して一連のコマンドを実行したいと思いますid.txt

cat id.txt

14235.gz
41231.gz
41234.gz

次のように私は通常のループのために書きます:

for i in $(cat id.txt);
do 
    command <options> $i
done

私は、私も何ができると思いました cat id.txt | command <options> -

パイプへの道は猫、AWK、sedは、などの出力、コマンドに行ずつはありますか?

Barmar:

コマンドは、通常、標準入力にそのファイル名の引数を得ることはありません。使用して-、標準入力の代わりに、指定したファイルからファイルの内容を読み込むための引数手段として、それは標準入力からファイル名を取得するという意味ではありません。

あなたは、コマンドへのすべてのファイル名引数としてファイルの内容を使用するようにコマンド置換を使用することができます。

command <options> $(cat id.txt)

またはあなたが使用することができます xargs

xargs command <options> < id.txt

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=14273&siteId=1