sed:仅在用引号引起来时替换文本中的字符串

亚历山德罗·马塞利(Alessandro Maselli)

仅当特定的字符序列属于引号中包含的字符串时,才需要使用sed替换文本中的字符序列。

例如以下文本:

这是“ movies.YouTube_id”列引用的YouTube视频。

应该这样转换:

这是“ movies.you_tube_id”列引用的YouTube视频。

也就是说,无论子串“ YouTube”是用单引号(')括起来的字符串的一部分,还是用“ you_tube”替换,无论用引号括起来的前导字符还是尾随字符。

明显

sed -r "s/YouTube/you_tube/g"

之所以不起作用,是因为无论引用如何,它都会在各处将“ YouTube”替换为“ you_tube”。我可以使用哪个正则表达式来完成任务?

先感谢您。

赛勒斯

使用GNU sed:

sed -E "s/('[^']*)YouTube([^']*')/\1you_tube\2/g" file

输出:

这是“ movies.you_tube_id”列引用的YouTube视频。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式用于在不将单引号或双引号引起来时使用空格分割字符串

如何在单引号引起来的字符串中转义单引号

检查字符串是否用单引号引起来Javascript

通过Web API发送的字符串用引号引起来

文本是否用双引号引起来时,转义文本中的特殊字符

使用JavaScript提取由数字无关的双引号引起来的子字符串

字符串的正则表达式,可选地用引号引起来

从字符串中删除所有未用单引号或双引号引起来的空格

VBScript Regex当数字用引号引起来时替换

如何在Xamarin.Forms中用引号引起来的字符串

ASP.NET Core API发送用双引号引起来的字符串

当使用javascripts JSON.parse()以双引号引起来时加载时,pythons json.dumps()错误产生的字符串

用引号引起来的字符串处理引号

字符串“ Catch Fry's Low Impact”后面的引号引起来

当元素未用引号引起来时,将列表的字符串表示形式转换为列表

仅当所有字符串都用引号引起来时才进行正则表达式拆分

如果空格在Python中用引号引起来,如何替换字符串中的所有空格?

Python查找用单引号引起来的字符串

Perl-DBI字符串错误地被双引号引起来

在UNIX中用引号引起来的字符串中删除换行符

请给RegEx帮助-用引号引起来的字符串中包含双引号

SQLException:字符串'''后的右引号引起来

Python:用空格分隔的字符串的每个词都用引号引起来

字符串扩展-用引号引起来的变量转义为值

Shell:如何仅在文件中用双引号引起来的字符中替换字符?

使用util.format,在数组中的每个字符串周围用双引号引起来

如何使用正则表达式替换用双引号引起来的字符串?

用双引号引起来的字符串拆分问题

php:字符串被双引号引起来,而不是单引号引起来。怎么修?