如何在Bash中使用tr -d命令移除字符串中的单引号
使用
tr -d移除输出中单引号的实现方法 直接通过管道将待处理的命令输出传给tr命令,指定删除单引号即可,注意shell下单引号的传参写法,避免解析错误。
基础命令写法
你的show命令 | tr -d "'"
tr -d表示启用字符删除模式,会移除输入流中所有匹配指定字符集的内容- 参数
"'"用双引号包裹待删除的单引号,不需要额外写转义符,写法简洁不易出错
适配你脚本场景的示例
如果你需要把处理后的值存到变量,再做条件判断,可以参考下面的写法:
# 执行show命令后直接移除所有单引号,将结果存入变量 show_result=$(你的show命令 | tr -d "'") # 如果是要处理数组中bid_present字段的多余单引号再判断 bid_present=$(echo "${arr["bid_present"]}" | tr -d "'") # 此时值已经是不带单引号的true,直接判断即可 if [ "$bid_present" = "true" ]; then # 写入你的业务逻辑 fi
注意:该命令会全局删除输出内容中所有位置的单引号,如果后续业务逻辑需要保留部分位置的单引号,不适合用这个写法。针对你当前要移除布尔值外层多余单引号、保证show命令输出无多余单引号的需求,该方案完全适用。
内容的提问来源于stack exchange,提问作者Surbhi Vyas
相关产品推荐
相关产品推荐

