regex - 使用 sed 转义单引号和双引号。 geed, 查找, xargs

标签 regex replace sed escaping

我有一个类似的命令:

find ./ -type f | xargs gsed -i -r 's/[$][A-Za-z_\'"]/testing

我想让这个命令起作用。不幸的是,单引号和双引号破坏了命令。我怎样才能转义这个字符串并让这个命令起作用?

这个问题与这个问题不同 one因为我在 [.但是,如果稍微修改一下就能解决问题,我想知道。

我尝试了几种不同的方式使用@、#、\,但都没有成功。

最佳答案

看看这个:

kent$  cat file
''''''
""""""

kent$  sed 's/\x27/single /g;s/\x22/double /g' file
single single single single single single 
double double double double double double 

所以,将您的 cmd 更改为:

find ./ -type f | xargs gsed -i -r 's/[$][A-Za-z_\x22\x27]/testing'

注意 我没有检查你的 find/xargs 部分是否正确,只是检查单引号/双引号部分。

关于regex - 使用 sed 转义单引号和双引号。 geed, 查找, xargs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15303336/

相关文章:

bash - BSD sed 无法全部替换 ",0,"

java - replaceAll 的问题(我想删除所有出现的 [*])

javascript - 测试 : "greater than" that is not in qoutes

PHP - 将 Youtube URL 转换为嵌入 URL

javascript - 替换正则表达式

javascript - 替换后字符提交错误

java - 修改字符串时的意外行为

linux - 使用 awk 和 sed 根据 awk 中的字段值查找使用文件中的行

linux - shell 脚本 sed 替换

正则表达式与解析引擎