0

我有一个由 100 多个节点组成的点文件,例如

n12 -> n23
n14 -> n35

如果'n'之后的数字大于20,我想在节点标签中将数字增加1。所以上面的两行将变为:

n12 -> n24
n14 -> n36

使用 awk、sed 或其他任何东西的好方法是什么?

(我不能使用'cut'删除'n'并比较数字,因为这也会删除一些带有'n'的属性。)

谢谢!

4

1 回答 1

3

Perl 解决方案:

perl -pe 's/([0-9]+)/$1 > 20 ? $1 + 1 : $1/ge' INPUT_FILE

要更改输入文件,请添加-i~选项。

于 2013-08-06T16:13:46.543 回答