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