【发布时间】:2015-10-25 15:41:46
【问题描述】:
我有一个文件,每行都有一个数字。
1
7
9
15
22
29
30
30 <--
30 <--
30 <--
40
42
49
50
50 <--
50 <--
55
我不能让数字出现多次。当发现重复时,应将其替换为下一个未使用的号码。
1
7
9
15
22
29
30
31 <--
32 <--
33 <--
40
42
49
50
51 <--
52 <--
55
如果我将表中的一列放入 perl、awk sed bash 脚本...我怎么能想出那个解决方案?任何想法都会很棒......
【问题讨论】:
-
您是否尝试过任何方法并遇到错误?请张贴那个
-
试试
List::MoreUtils::uniq.. 示例:perl -MList::MoreUtils=uniq -E '@a=uniq(1,1,2,2,3); say "@a"' -
@Håkon Hægland,这不会产生请求的输出。
-
假设每一行都有一个数字:
perl -nle'print $x = $. == 1 || $_ > $x ? $_ : $x+1' -
@ikegami 谢谢,你是对的.. 我误读了这个问题。