2つの列を持つ複数のファイルがあります。ファイル1:
1 100
2 103
ファイル2
1 200
2 203
約600の文書が2つの列に分かれています。
ここで、各ファイルの最初の行と2番目の列を正しい順序で組み合わせて単一のデータファイルを取得しようとしています。たとえば、次のようになります。
100
200
.
.
. (600 lines)
どうすればいいですか?
答え1
awk 'FNR==1 {print $2}' file*
これにより、ファイル名が()で始まる各ファイルの最初の行$2
と2番目の列()が印刷されます。FNR==1
file
別の方法は、最初の行を印刷してすぐに次のファイルに移動することです(GNU固有のキーワードnextfile
です)。mawk
awk
awk '{print $2; nextfile}' file*
答え2
最良の答えはすでに上にあります。次のコマンドを試してください
for i in file1 file2; do awk 'NR==1{print $2}' $i; done
100
200