2016-08-09 77 views
1

我想採取6個柱(〜130萬線)文件,並重復基於該值的線在列4,輸入線路:重複或複製基於列的值

chr1 6209 6234 2 255 + 
chr1 6686 6710 1 255 + 
chr1 6755 6780 3 255 + 

輸出:

chr1 6209 6234 2 255 + 
chr1 6209 6234 2 255 + 
chr1 6686 6710 1 255 + 
chr1 6755 6780 3 255 + 
chr1 6755 6780 3 255 + 
chr1 6755 6780 3 255 + 

我發現this question這是非常相似的,但是當我嘗試使用的代碼我無法保持我的專欄:

請原諒我的無知的腳本。任何建議表示讚賞。

回答

6

awk來救援!

$ awk '{c=$4; while(c-->0) print}' file 

chr1 6209 6234 2 255 + 
chr1 6209 6234 2 255 + 
chr1 6686 6710 1 255 + 
chr1 6755 6780 3 255 + 
chr1 6755 6780 3 255 + 
chr1 6755 6780 3 255 +