たとえば、次の情報を持つ2つのファイルがあります。
ファイル#1:
12
13
14
15
ファイル#2:
12 1
13 2
14 2
15 6
16 7
17 8
出力ファイル:
1
2
2
6
出力ファイルでは、ファイル#1の最初の列と一致するファイル#2の2番目の列の値のみが必要です。 Linuxにそのためのユーティリティ関数はありますか?私はシェルスクリプトを初めて使用しますが、誰か助けてもらえますか?
join
コマンドを使用して特定の列のファイルを結合し、awk
を使用して出力を解析できます。
列1でこれらのファイルを結合するには、パラメーター-j 1
をjoinコマンドに渡します。
usr@srv % join -j 1 test test2
12 1
13 2
14 2
15 6
その後、awk
を使用して、2番目の列のみを出力します。
usr@srv % join -j 1 test test2 | awk '{print $2}'
1
2
2
6