2015-10-19 32 views
2

我想在一個文件中匹配的記錄數將在另一個文件中相同的場數:匹配的行和字段兩個文件

文件1:

1 
3 
5 
4 
3 
1 
5 

文件2:

A B C D E F G 
H I J J K L M 
N O P Q R S T 

我想在第一個文件中使用對應於5的記錄編號來獲取第二個文件中的對應字段。所需的輸出:

C G 
J M 
P T 

到目前爲止,我已經做了:

awk '{ if ($1=="5") print NR }' file1 > temp 
for i in $(cat temp); do 
    awk '{ print $"'${i}'" }' file2 
done 

但得到的輸出:

​​

我想有這樣的期望輸出的格式上面,但不能得到它的工作。也許使用prinfawk for-loop可能工作,但我沒有成功。

謝謝大家。

回答

5
awk 'NR==FNR{if($1==5)a[NR];next}{for(i in a){printf $i" "}print ""}' a b 
C G 
J M 
P T