我可以使用grep / sed增加txt文件中的某些数字吗?
我想找到文件中的所有数字,并将它们增加为5.这是否可以使用grep和sed或我需要为此编写应用程序?
编辑: 文件有n行以数字 - 数字开头,而不是某些文本。 喜欢电影的标题。
示例行:
34 - 36 : Some text.
答案 0 :(得分:2)
答案 1 :(得分:1)
可能是awk。将记录分隔符更改为空格(假设这是您要执行的操作),然后如果记录匹配正则表达式^[0-9]*$
转换为数字添加5并打印,否则打印。
这是一个非常完整的解决方案,但“作为练习”进行编码。
答案 2 :(得分:1)
我相信你应该使用awk
Changing the Contents of a Field
>cat 1.txt
34 - 36 : Some text.
cat 1.txt | awk '{ $1=$1+5; $3=$3+5; print $0; }'
39 - 41 : Some text.
答案 3 :(得分:0)
这可能适合你(GNU sed& Bash):
sed 's/[0-9]\+/$((&+5))/g;s/.*/echo "&"/e' file