入力リダイレクト用の追加出力

入力リダイレクト用の追加出力

3つのファイルを含むフォルダがあります。

$ ls
a  b  c

出力lsをにパイプするとwc正しい結果が得られます。

$ ls | wc -l
3

ただし、入力をwc出力として指定すると、追加のlsテキストが表示されます。

$ wc -l <(ls)
3 /dev/fd/63

何が起こっているのか私に説明できる人はいますか?

ベストアンサー1

wc可能であれば、作業中のファイルが何であるかをお知らせします。パイプを含む最初のファイルはファイルではなく標準入力から読み取られるため、ファイル名は報告されません。ただし、2番目は、コマンドの出力をファイルとして表示してwc報告するプロセス置換を使用しています。読み取ったファイル記述子を報告します。

おすすめ記事