我有一个包含100多个节点的点文件,例如
n12 -> n23
n14 -> n35
如果'n'之后的数字大于20,我想在节点标签中将数字增加1。 所以上面的两行将成为:
n12 -> n24
n14 -> n36
使用awk,sed或其他任何东西做这件事的好方法是什么?
(我不能使用'cut'删除'n'并比较数字,因为这样会删除'n'的某些属性。)
谢谢!
答案 0 :(得分:3)
Perl解决方案:
perl -pe 's/([0-9]+)/$1 > 20 ? $1 + 1 : $1/ge' INPUT_FILE
要更改输入文件,请添加-i~
选项。