2011-08-15 63 views
2

所以我有一個文件「1」,這是一列。我有3個文件,每個文件都有一列,我想從這些列的每一列隨機選擇一行到文檔1的行上。使用awk抓取隨機行並追加到新列?

所以像

awk 'NR==10' moves.txt 'NR==1' propp_tasks.txt 

打印出

10.Qg3 Bb4+ 
    First function of the donor 

時,我希望它是:

10 Qg3 Bb4+ First function of the donor 

是否有使用awk做到這一點的好辦法?我一直試圖用for循環設置一個bash腳本,但我不知道如何在文檔1的第n行循環索引,第2,3和4列將會附加在那裏。我覺得這應該是真的,真的很簡單...

+0

你的文件有多長?如果它們適合記憶,那麼它就是小菜一碟,如果不是,性能可能是一個問題。 –

+0

你會仔細檢查你的awk行嗎?我收到錯誤'awk:無法打開文件NR == 1'。 – paulmelnikow

+0

它們不是很長,很容易適應記憶。我只是不知道將awk語法添加到新行中 – AI52487963

回答

1
paste 1 <(cat 2 3 4 | sort -R) 

如果第一個文件,其他3個文件的組合長度的長度是不同的,然後一些更多的工作是必需的。