bashスクリプトが最後のパイプファイルを読み取らない

bashスクリプトが最後のパイプファイルを読み取らない
for i in {1..255} ; do host 10.1.9.$i ; done |grep not|awk '{print $2}' | awk -F. '{print $1}'> /tmp/filx   | for i in `cat /tmp/filx` ; do echo $i ; done

なぜo / pが表示されないのかわかりません。ファイルに未使用のIP値があります。ありがとう

ベストアンサー1

ファイルにのみリダイレクトするからです。次のコマンドに渡すには、tee両方を実行します。

...  | tee /tmp/filx |... 

teeファイルに書き込み、|標準入力から読み取って標準出力を次のコマンドに渡すために使用されます。

または、コマンドのこの部分を/tmp/filx |またはに変更する必要があります。|;&&

おすすめ記事