- 论坛徽章:
- 0
|
回复 2# csccyab
大神,请问如果第一列遇到不同的值,则从头开始插入要怎么做呢?我这样改输不出结果:awk 'NR>1{do {first[NR]=$1; gsub(/./," ",first); count++; if ($2!=count&&first[NR]==first[NR-1]) print first" "count} while ($2>count)} NR==1{count=$2; first[NR]=$1; gsub(/./, " ", first)} 1' a.txta.txt
1 1006 + 0 2 CHH CCC U L L L L L
1 1007 + 0 2 CHH CCT U L L L L L
1 1008 + 0 2 CHH CTA U L L L L L
1 1013 + 0 2 CHH CCC U L L L L L
2 1005 + 0 2 CHH CCT U L L L L L
2 1009 + 0 2 CHH CTA U L L L L L
2 1010 + 0 2 CHH CCC U L L L L L
2 1012 + 0 2 CHH CCT U L L L L L
3 1002 + 0 2 CHH CTA U L L L L L
3 1017 + 0 2 CHH CCC U L L L L L
3 1018 + 0 2 CHH CCT U L L L L L
3 1020 + 1 2 CHH CTA U L L L L U
变成:
1 1006 + 0 2 CHH CCC U L L L L L
1 1007 + 0 2 CHH CCT U L L L L L
1 1008 + 0 2 CHH CTA U L L L L L
1009
1010
1011
1012
1 1013 + 0 2 CHH CCC U L L L L L
2 1005 + 0 2 CHH CCT U L L L L L
1006
1007
1008
2 1009 + 0 2 CHH CTA U L L L L L
2 1010 + 0 2 CHH CCC U L L L L L
1011
2 1012 + 0 2 CHH CCT U L L L L L
3 1017 + 0 2 CHH CCC U L L L L L
3 1018 + 0 2 CHH CCT U L L L L L
1019
3 1020 + 1 2 CHH CTA U L L L L U
|
|