コマンド出力をテキストファイルと比較するには?

コマンド出力をテキストファイルと比較するには?

プログラミングインタビューの質問を勉強しているので、FizzBu​​zzをコーディングしてみました。プログラムの出力を.txtファイルの既知の良好な出力と比較しようとしています。

出力がファイルと1行ずつnode fizzbuzz.js同じかどうかを確認する方法は?expected-output.txtdiff

重複質問で提案したようにこれを試しました。

diff -u expected-output.txt <(node fizzbuzz.js)

しかし、diff何も出力されず、私がするまで終了しないようです^C。プログラム自体もうまく動作しますが、diff -u expected-output.txt <(cat test.txt)何らかの理由で正しく動作しないようです。node

答え1

Bash/ksh/Zshから:

diff -u file.txt <(some command)

この<(some command)構造はプロセスの交換、これは出力を生成します。いくつかのコマンドファイルで利用可能なものと同様に読み取ることができますdiff。 (コマンドでパイプを設定し、名前付きパイプの名前に展開します。)/dev/fd/N

同様に、>(some command)書き込みをリダイレクトするために使用できます。到着注文する。

関連情報