2014-06-28 62 views
0

我將不勝感激您的意見如下:如何匹配兩個文件並按列篩選匹配值的第三個文件?

我想通過那裏匹配兩個文件的ID(第一列)和篩選第三個文件的列只有那些匹配的ID。

我有三個文件(見下文)。我想匹配file1$1file2中的ID。在這兩個文件相同的ID中,我想按列過濾file3File3列的排列順序與file1row1相似。唯一的區別是ID名稱不被表示爲file3的列名稱。我只知道它有相同的順序。

file1

ID X Y 
ID1 X1 Y1 
ID2 X2 Y2 
ID3 X3 Y3 

file2

ID1 
ID3 

file3(列是相似順序的file1行 - 只有不實際的ID)

Z 1 2 3 
W 1 2 3 
V 1 2 3 

輸出:

Z 1 3 
W 1 3 
V 1 3 

我應該怎麼辦?

+0

看起來你只是從文件3中刪除第三列。目前還不清楚ID扮演什麼角色。你最大的障礙可能是無法用簡明的語言精確地指出問題;通常,當你能夠做到這一點時,代碼就會彈出 - 如果你知道如何編碼,那就是。 – Kaz

+0

您可以使用sed命令功能... – Manolo

+0

@ManoloSalsas對於組織到行和列中的數據進行轉換時,Sed是一種完全愚蠢的行爲;在同一個環境中可用的理想工具是Awk。 – Kaz

回答

0

不需要sed,awk,粘貼或加入。

cut -d' ' -f`grep -nffile2 file1|cut -d: -f1|tr '\n' ,`1 file3 
相關問題