awk
2つのファイルの最初の行が無視されるように、2つのファイルを別のファイルに関連付ける方法は?
各ファイルの形式は次のとおりです。
#filename
4 5
5 6
2番目のものを例に挙げましょう。
#filename
7 6
1 4
予想出力:
4 5
5 6
7 6
1 4
答え1
各ファイルの最初の行をスキップしながら、2つのファイルの内容をリンクしたいようです。
以下を使用して、ファイルの最初の行を除くすべての行をインポートする方法はいくつかありますawk
。
awk 'FNR > 1' file
実際には、以下を使用してawk
このプログラムで目的の操作を実行するのは簡単ですawk
。
$ awk 'FNR > 1' file1 file2
4 5
5 6
7 6
1 4
FNR
現在のファイルに現在のレコード番号を格納するために使用される変数awk
。 (デフォルトは行番号です。)このプログラムで厳密に1より大きい場合、FNR
現在のファイルの現在の行はファイルの最初の行ではありません。そのような条件のみを含むプログラムは、条件が真の行を印刷します。
答え2
完全性のために、ここにtail
GNUベースのソリューションがあります。
tail -q -n +2 file1 file2
答え3
sedを使って、私はこれを通してこれを達成しました。
sed -n -e '1!p' f1 ;sed -n -e '1!p' f2
出力
4 5
5 6
7 6
1 4
答え4
なぜできないの
awk '{print $0}' file1 file2