【问题标题】:Returning Numbers From Text File - BASH从文本文件返回数字 - BASH
【发布时间】:2012-02-03 12:04:49
【问题描述】:

我有一个命令获取当前的 SVN 版本并将其存储在一个文件中,无论如何我可以从文件中选择“53413”以在其他地方使用吗?

Revision: 53413

谢谢

【问题讨论】:

    标签: linux bash select command


    【解决方案1】:
    echo "Revision: 53413" | cut -d " " -f2
    

    cut用法:使用空格作为分隔符,选择第二个字段。

    【讨论】:

      【解决方案2】:

      这更精确一点,以防filename 包含多于一行的数据:

      rev=`awk '$1=="Revision:"{print $2}' <filename>`
      

      然后,您可以在 bash 脚本的其他位置使用 ${rev}

      【讨论】:

      • @Ken- 太好了。它显示 awk 可以文件作为参数(我一直忘记),并搜索一些标记。 +1
      【解决方案3】:

      你可以使用 grep:

      echo "Revision: 53413" | grep -o -P "\d+"
      

      或者,如果您的文件有更多行,您可以使用:

      cat file | grep Revision | grep -o -P "\d+"
      

      【讨论】:

      • 既然你使用的是-P选项,不妨去掉第一个grep:grep -oP '(?&lt;=Revision: )\d+' file
      【解决方案4】:

      文件数据包含

      dddd 2345
      

      尝试以下几行

      $ REV=`cat data|  awk '{print $2}' `
      $ echo $REV
      

      输出是 第2345章

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-17
        • 1970-01-01
        • 2011-08-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多