【发布时间】:2018-06-11 08:41:30
【问题描述】:
我需要用相同的字符串替换大型文本文件中的所有匹配项,例如 'yw234DV w-23-sDf wef23s-d-f',但用下划线代替引号内的所有空格,而不用下划线替换引号外的任何空格。
我正在尝试在 vim 中找到替代解决方案,但也非常感谢 sed 解决方案。每个引号分隔的字符串中的标记数量可能会有所不同。
我一直在 vim 中使用一些正则表达式,但它们非常初级,似乎缺少我需要的东西。
我目前的尝试:
%s/'{[:alnum:] }*/'\0\_/g
我正在尝试对此的变化。
这与我的问题最相似,尽管它是 Java: Replacing spaces within quotes
示例输入:
'wiUEF7-gvouw ow wo24-RTeih we', 'yt23IT iug-76'
样本输出:
'wiUEF7-gvouw_ow_wo24-RTeih_we', 'yt23IT_iug-76'
【问题讨论】:
-
您想用下划线替换 any 单引号字符串中的 all 空格吗?或者,还有其他限制吗?
-
另外,请展示您迄今为止尝试过的内容并描述失败的原因。没有表现出你的努力,人们会认为你是在要求免费咨询,而这里的很多人不喜欢这样。
-
请显示正确的示例 Input_file 以及正确的示例预期输出(除了 John1024 也要求的内容)。
-
谢谢我已经编辑了这个问题。我只是阻止了 vim 中的尝试......
标签: regex vim sed substitution