看起来很简单,但到目前为止还没有。尝试了很多东西。最好的我有:
echo "low quality not gonna apologize" | jq -r 'gsub("[\\s+]"; " "; "g")'
parse error: Invalid numeric literal at line 1, column 4
目标是用1个空格替换任何种类的多个空白的任何出现。请注意,我已经从该流中删除了制表符和换行符。这是bash外壳。在我正在构建的大型应用程序的上下文中,我也不会遇到此错误,在该应用程序中,代码简单而安静地没有将IDK的多个空间更改为单个空间。
最佳答案
正确使用jq
:
echo "low quality not gonna apologize" | jq -Rr 'gsub("\\s+";" ";"g")'
-R
-原始输入;每行文本作为字符串输出:
low quality not gonna apologize
关于regex - jq先删除空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49087991/