6

UNIX スクリプト プログラミングでは、cat は 2 つのファイルを結合できるコマンドです。

cat file1 file2 > file3

これにより、最初の 2 つを組み合わせて 3 番目が生成されます。

また、 cat はパイプで使用できます。

cat file1 | tail -4

これにより、ファイル 1 の最後の 4 行がリストされます。

質問: ファイル 1 と 2 の最後の 4 行を結合して、ファイル 3 を生成するにはどうすればよいですか?

私はここで少し迷っています: cat に 2 つのストリーム入力を与える方法は?

4

4 に答える 4

8

次のことを(bashで)行うことができます:

(tail -4 file1; tail -4 file2) > file3

これはあなたの質問のように猫を使用しませんが、あなたが説明する目標を達成します。

于 2011-12-11T15:51:08.380 に答える
6

Bash にはプロセス置換機能があります。

  cat <(tail -4 file1) <(tail -4 file2)

私はよくこの機能を使用して、わずかに変更された 2 つのファイルのバージョンを比較します。

于 2011-12-11T16:00:31.510 に答える
2

どうしたの:

cat file1 | tail -4 > ./file3; cat file2 | tail -4 >> ./file3

?

于 2011-12-11T15:59:33.730 に答える
2

peeこれを行うにはfrom moreutilsを使用できます。これが私の解決策です

pee 'tail file1' 'tail file2' </dev/null > file3
于 2011-12-11T16:06:08.230 に答える