2016-08-09 2 views
1

내가 6 열 (~ 130 만 라인) 파일을 가지고 가고, 열에서 입력 값에 따라 행을 복제하려는 컬럼 값을 기준으로 선 복제 :중복 또는

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 the rescue!

$ 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 +