当前位置:  开发笔记 > 编程语言 > 正文

如果数字不总是相同,如何增加几个文件中的数字?

如何解决《如果数字不总是相同,如何增加几个文件中的数字?》经验,为你挑选了2个好方法。

我有几个包含这一行的文件

Release: X

我想在所有文件中增加X.

如果文件之间的X是不变的,我可以在文件周围循环一个bash脚本($ 1包含前版本号,$ 2包含新版本,即$ 1 + 1):

sed 's/Release: '$1'/Release: '$2'/' <$file >$file.new

现在,如果文件之间的版本号不同,我该怎么办?

它是否适用于sed?

我应该使用其他工具吗?



1> Adam Liss..:

使用awk- 它是完全正确的工具:

awk '/Release: [0-9]+/ { printf "Release: %d\n", $2+1 }' < $file > $file.new

翻译:

搜索包含"Release:"后跟一个或多个数字的行.

打印"发布:",后跟数字和换行符.数字是输入行中的第二个单词(数字)加1.



2> The Archetyp..:

这个perl one-liner将与awk脚本一样,但不会破坏文件的其余部分或包含该版本的其余行.

 perl -pe "$_=~s/Release: (\d+)/'Release: '. ($1+1)/e;" < file > file.new

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有