2016-06-27 2 views
0

大きなテキストに新しい行を挿入することに関する質問があります。新しい行を順番に挿入する

マイファイル;

E.coli.1 gi|1035701777|ref|WP_064543348.1| 85.62 160 23 0 12 171 1 160 4,00E-103 300 
E.coli.2 gi|1035701777|ref|WP_064543348.1| 85.62 160 23 0 1 160 1 160 3,00E-103 300 
E.coli.5 gi|1036669825|ref|WP_064721309.1| 96.69 393 13 0 2 394 1 393 0.0 748 
E.coli.6 gi|1036669825|ref|WP_064721309.1| 96.69 393 13 0 2 394 1 393 0.0 748 
E.coli.7 gi|1037427804|ref|WP_064741043.1| 67.95 78 25 0 1 78 1 78 9,00E-33 114 

私の予想される出力:

E.coli.1 gi|1035701777|ref|WP_064543348.1| 85.62 160 23 0 12 171 1 160 4,00E-103 300 
E.coli.2 gi|1035701777|ref|WP_064543348.1| 85.62 160 23 0 1 160 1 160 3,00E-103 300 
E.coli.3 
E.coli.4 
E.coli.5 gi|1036669825|ref|WP_064721309.1| 96.69 393 13 0 2 394 1 393 0.0 748 
E.coli.6 gi|1036669825|ref|WP_064721309.1| 96.69 393 13 0 2 394 1 393 0.0 748 
E.coli.7 gi|1037427804|ref|WP_064741043.1| 67.95 78 25 0 1 78 1 78 9,00E-33 114 

答えて

1

私はそれほど明確ではない記述であなたの問題を理解している場合、あなたはawkを使用してそれを解決することができます

awk -F '[.[:blank:]]+' 'p{for (;p<$3; p++) print f p} NF>3{p=$3+1; f=$1 "." $2 "."}1' file 

E.coli.1 gi|1035701777|ref|WP_064543348.1| 85.62 160 23 0 12 171 1 160 4,00E-103 300 
E.coli.2 gi|1035701777|ref|WP_064543348.1| 85.62 160 23 0 1 160 1 160 3,00E-103 300 
E.coli.3 
E.coli.4 
E.coli.5 gi|1036669825|ref|WP_064721309.1| 96.69 393 13 0 2 394 1 393 0.0 748 
E.coli.6 gi|1036669825|ref|WP_064721309.1| 96.69 393 13 0 2 394 1 393 0.0 748 
E.coli.7 gi|1037427804|ref|WP_064741043.1| 67.95 78 25 0 1 78 1 78 9,00E-33 114 
+1

は、そんなにanubhavaありがとうこのスクリプトは完全に私の問題を解決しました! –

関連する問題