如何使用 sed 或类似工具为文件中的每个数字加 1? [英] How can I add 1 to each numbers in a file using sed or similar tool?
本文介绍了如何使用 sed 或类似工具为文件中的每个数字加 1?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个看起来像这样的文件:
I have a file which looks like this :
9 3 16 2
10 17
11 R-C R-C R-C R-C
我想用数字+1"替换每个数字数字"
I would like to replace each digit 'number' with 'number + 1'
比如说,9 -> 10, 2 -> 3, 17 -> 18 等等.
Say for example, 9 -> 10, 2 -> 3, 17 -> 18 and so on.
我知道你可以使用 \1 来记住 sed 中的模式.但不确定如何加 1.
I know that you can use \1 to remember the pattern in sed. But not sure how to add 1 to it.
推荐答案
试试这个 awk
命令:
awk '{for(i=1;i<=NF;i++){if(match($i,/^[0-9]+$/)){$i+=1}}print}' input.txt
结果是:
10 4 17 3
11 18
12 R-C R-C R-C R-C
<小时>
如果你需要保留那些空格,在 vim
中运行这个命令:
:%s/[0-9]\+/\=submatch(0)+1/g
结果是:
10 4 17 3
11 18
12 R-C R-C R-C R-C
这篇关于如何使用 sed 或类似工具为文件中的每个数字加 1?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文