2011-08-19 5 views
23

2つの大きなファイルがあり、それぞれのファイルの先頭行の間にdiffを作成したいが、中間ファイルを使用したくない。私はそのようなことをしたいと思います:中間ファイルなしで2つのファイルの先頭行を比較する方法

diff `head -n 2000 file1.log` `head -n 2000 file2.log` 

私は長いこと前にそのようなことをしたことを覚えています。 head -n 2000 file1.logのようなコマンドをファイルとして解釈します。しかし、私はどのように覚えていません。たぶんそれは別のシェルだったかもしれません...
ありがとうございます。

答えて

45

あなたはおそらくprocess substitutionをbashで考えています。たとえば、次のように試してみてください。

diff <(head -n 2000 file1.log) <(head -n 2000 file2.log) 
+0

ありがとうございました。 – Tom97531

+0

この 'diff <(head -n 1 file1.logt)<(head -n 1 file2.log)'を実行すると構文エラーが発生します。 ** - sh:予想外のトークンの近くで構文エラーが発生しました。( '** – AbhiNickz

+0

@AbhiNickzどのシェルが使用していますか? –

関連する問題