bash - 尝试使用 bash 从特定字符串 NumberLong("43494254014573") 中提取数字时出现命令未找到错误
问题描述
当我尝试出错时,我需要从字符串中提取数字
val2="NumberLong(\"43494254014573\")"
$val2|awk -F'"' '{print $2}'
-bash:NumberLong(“43494254014573”):找不到命令
解决方案
您需要echo
变量,或者以某种方式将其放入awk
命令的标准输入管道中。例如
val2="NumberLong(\"43494254014573\")"
echo $val2|awk -F'"' '{print $2}'
或者
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
推荐阅读
- java - 在linux下使用分页响应(PagedResultsDirContextProcessor)使用Spring LDAP查询AD不起作用
- python - 如何在 colab 中导入 PyML?
- stripe-payments - Stripe APi paymentIntent 和 session 对象
- azure - Cosmos DB - 查找数组中项目列表的有效查询?
- sql - 我的 SQL Join 只产生了一半的正确聚合输出
- flask - 在谷歌云应用引擎中使用 Pyomo GLPK
- python - 将新电子邮件重定向到主页,以超链接格式跨越 autopygui win32 弹出窗口
- android-studio - Kotlin Android - 在 savedInstanceState 中保存 mutableMap?
- python - 在此代码中,您有一个门代码和一个键盘
- c# - 为什么我的服务器在 GET preflight 请求上响应 Method Not Allowed 并说 Allow Delete?