代码之家  ›  专栏  ›  技术社区  ›  Jieiku

Bash shell脚本是否从多行变量返回第一个数字/整数?

  •  0
  • Jieiku  · 技术社区  · 7 年前

    字符串在任何给定的位置都可能包含“N/A”,我只需要在正在处理的脚本中使用第一个返回的整数/数字。

    例子:

    STRING="N/A"$'\n'"77"$'\n'"66"$'\n'"222"
    echo "${STRING}"
    echo "${STRING//[!0-9]/}"
    

    期望输出为:77

    https://linuxconfig.org/how-to-extract-a-number-from-a-string-using-bash-example

    1 回复  |  直到 7 年前
        1
  •  1
  •   oguz ismail FCulig    7 年前

    使用sed

    $ sed '/^[0-9]\+$/q;d' <<< "$STRING"
    77
    

    使用awk

    $ awk '/^[0-9]+$/{print;exit}' <<< "$STRING"
    77