找不到命令尝试使用bash

时间:2020-07-25 08:21:21

标签: bash

当我尝试出现错误时,我需要从字符串中提取数字

val2="NumberLong(\"43494254014573\")"

$val2|awk -F'"' '{print $2}'

-bash:NumberLong(“ 43494254014573”):找不到命令

1 个答案:

答案 0 :(得分:1)

您需要echo变量,或以某种方式将其放入awk命令的stdin管道中。例如

val2="NumberLong(\"43494254014573\")"
echo $val2|awk -F'"' '{print $2}'

OR

val2="NumberLong(\"43494254014573\")"
awk -F'"' '{print $2}' <<< "$val2"

您当前的解决方案尝试执行$val2的值,该值显然不是可执行文件。

编辑:

您可以使用命令替换(https://www.gnu.org/software/bash/manual/html_node/Command-Substitution.html)将结果分配给变量:

val2="NumberLong(\"43494254014573\")"
num=$(awk -F'"' '{print $2}' <<< "$val2")
echo $num