zshシェルから「ls> a.txt | wc」と「ls | wc」を出力する

zshシェルから「ls> a.txt | wc」と「ls | wc」を出力する

シェルを使用してzsh。誰かがこれについて私の理解を確認できますか?ls > a.txt | wcls | wc

最初のコマンドではSTDOUT、コマンドは演算子を使用してパイプの書き込み終了(現在のファイルを指している)にリダイレクトしてパイプから読み取るため、次のような効果を生成します。a.txt>STDOUTwcls | wc

しかし、ここで疑わしいのは、同じ出力を見たため、lsの出力がパイプに書き込まれていることを意味することですa.txt(ファイルを確認しました)。両方の出力を書き込む必要があるのは、lsファイル記述子を実行するときにSTDOUTパイプまたはファイルの書き込みの終わりを指すため、両方とも出力を取得できないからです。

私が2つのファイルがあるディレクトリにあるとしましょうa.txtsample.txt

  1. 上記の2つのコマンドを実行すると、出力が提供されます。2 2 17

  2. a.txt含む

a.txt 

sample.txt

関連情報