Regex 使用SED处理单引号和双引号

Regex 使用SED处理单引号和双引号,regex,shell,sed,Regex,Shell,Sed,假设我有一个文件test.txt,其中包含以下内容: 这个或 “什么都不是” 或 “那或” 如果是或 现在我想替换引号中不存在的或(单引号或双引号)。我想通过使用sed来实现这一点。所以我的输出是: 这个或 “什么都不是” 或 “那或” 如果是或 我假设这可以通过使用awk来实现,但是任何人都可以使用sed来实现吗。我正在用cygwin做这件事 我找到了答案。通过使用单引号和双引号的十六进制值,我们可以忽略单引号或双引号中出现的模式 sed -n '/\x22.*or\x22/! { /\x

假设我有一个文件test.txt,其中包含以下内容:

这个或
“什么都不是”
或
“那或”
如果是或
现在我想替换引号中不存在的
(单引号或双引号)。我想通过使用
sed
来实现这一点。所以我的输出是:

这个或
“什么都不是”
或
“那或”
如果是或

我假设这可以通过使用
awk
来实现,但是任何人都可以使用
sed
来实现吗。我正在用cygwin做这件事

我找到了答案。通过使用单引号和双引号的十六进制值,我们可以忽略单引号或双引号中出现的模式

sed -n '/\x22.*or\x22/! { /\x27.*or\x27/! {s/or/OR/g}}' input_file

你用sed试过什么吗?或者你在寻找现成的答案?我试过了,但不是单引号中的替换,就是双引号中的替换,但不是都替换。我知道已经晚了,但我真的很难弄清楚你在问什么。
什么都没有或与
那个或
再次匹配,这是怎么回事?@Davic C.Rankin-这只是一个随机的例子。我的目的是要有三种不同口味的or:1。单引号2。用双引号引3。不quotes@rebelution为什么不将perl也用于其他操作呢?