Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个由 100 多个节点组成的点文件,例如
n12 -> n23 n14 -> n35
如果'n'之后的数字大于20,我想在节点标签中将数字增加1。所以上面的两行将变为:
n12 -> n24 n14 -> n36
使用 awk、sed 或其他任何东西的好方法是什么?
(我不能使用'cut'删除'n'并比较数字,因为这也会删除一些带有'n'的属性。)
谢谢!
Perl 解决方案:
perl -pe 's/([0-9]+)/$1 > 20 ? $1 + 1 : $1/ge' INPUT_FILE
要更改输入文件,请添加-i~选项。
-i~