当我尝试出现错误时,我需要从字符串中提取数字
val2="NumberLong(\"43494254014573\")"
$val2|awk -F'"' '{print $2}'
-bash:NumberLong(“ 43494254014573”):找不到命令
答案 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