- 论坛徽章:
- 145
|
本帖最后由 jason680 于 2011-03-28 10:35 编辑
>>to 5楼6楼
>>字段数应该是不变的
谢谢!!!
本来想那就更简单了....
$ echo "1|2|3|4|5|5|6||||10|
11|2|13|4|5|15|4||||12|
10|2|13|13|5|15|4||||1|" | perl -ape '{%h=();s/(\d+)/if($h{$1}++==0){sprintf"$1"}/ge;}'
1|2|3|4|5||6||||10|
11|2|13|4|5|15|||||12|
10|2|13||5|15|4||||1|
结果为了搬走中间的 ||....
又花了一翻功夫....
$ echo "1|2|3|4|5|5|6||||10|
11|2|13|4|5|15|4||||12|
10|2|13|13|5|15|4||||1|" | perl -ape '{($t,%h)=();s/(\d+)/if($h{$1}++==0){sprintf"$1"}/ge;while(s/(\|+)\|/|/){$t.=$1}s/(\d+)\|$/$t$1|/;}'
1|2|3|4|5|6|||||10|
11|2|13|4|5|15|||||12|
10|2|13|5|15|4|||||1| |
|