【问题标题】:how can i get the last value in a line and increment it我怎样才能得到一行中的最后一个值并增加它
【发布时间】:2016-02-16 12:29:43
【问题描述】:

我有一个文件 file.txt 内容是

元素 /vob/ccm_tpl/repository/RedHat/6/ncurses-devel/5.7-3.20090208.el6.i686/... VERSION_01 元素 /vob/ccm_tpl/repository/RedHat/6/ncurses-lib/5.7-3.20090208.el6.i686/... VERSION_02 元素 /vob/ccm_tpl/repository/RedHat/6/slang/2.2.1-1.el6.i686/... VERSION_03

在 shell 脚本中有什么方法可以让我获得最后一行(VERSION_02)中的最后一个值并将其增加到 VERSION_03 并添加这一行 元素 /vob/ccm_tpl/repository/RedHat/6/ncurses-lib/5.7-3.20090208.el6.i686/... VERSION_03 在我拥有的同一个文件中 请帮忙

【问题讨论】:

  • 欢迎来到 StackOverflow!您的问题的答案是“是的,有办法”。请查看stackoverflow.com/help/how-to-ask 以获取有关改进此问题的提示。特别是,它需要包含您的尝试 来解决您的问题的代码。我们不是免费工作的短期程序员,我们是一个人们互相帮助改进我们的手艺的社区。​​span>

标签: shell


【解决方案1】:

有很多方法可以做到这一点。这里有一个使用正则表达式和 perl 的方法。

perl -i.bak -ple 's/(\d+)\D*$/ sprintf "%02d", $1+1 /e' /path/to/file.txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 2015-12-15
    • 2015-06-08
    相关资源
    最近更新 更多