bash - 在jq中的单引号上拆分字符串
问题描述
如何对单引号进行拆分?
我期待某种逃脱,但到目前为止我还没有运气。有一种感觉,这甚至是不可能的。
echo "{\"username\": \"hu'lk\"}" | jq -r '.username|split("\'")|join("")'
我希望得到{"username": "hulk"}
,但我没有。它希望我关闭pipe dquote>
。
我知道可能有更好的方法来做到这一点,但条件替换嵌套在更大的 jq 过滤器中。
解决方案
您可以使用split("'")
或
[splits("[']")]
根据您使用的 shell,这些特殊字符可能需要转义,因此您可能会发现使用 jq 的 -f 命令行选项更方便。如果使用 bash,请注意:
echo $'"\'"'
产量
"'"
有关进一步的见解,请参阅例如如何在单引号字符串中转义单引号
gsub
也考虑gsub("'";"")
推荐阅读
- tensorflow - tf.keras.layers.Conv2D 作为模型中的第一层真的需要 input_shape 吗?
- angularjs - 如何在angularjs中将图像存储到浏览器缓存中
- javascript - 如何使用 E'chart JS 创建下图
- ios - xcode中性能测试的单独方案
- ios - 获取已连接的 wifi 路由器的制造商名称
- python - 在 Python 中导入搅拌机模块时如何修复错误
- java - Java SWING GUI 在运行线程后离开控制台
- typescript - Typescript:使用通用接口扩展接口
- c# - Azure 出现启动应用程序错误
- lua - 初学者lua:检查数组的值