我有一个包含文本的文件,我只想从u'sometext'
的所有实例中去掉前导u,这样它就离开了'sometext'
。我还没有弄清楚如何让sed与u'
匹配并替换为'
。
我认为sed命令有效:
echo ['a', u'update for microsoft office 2013 (kb4022166) 32-bit edition', 'unknown', 'null'] | sed "s/u'/'/g"
输出:
[a, uupdate for microsoft office 2013 (kb4022166) 32-bit edition, unknown, null]
我想要的是:
['a', 'update for microsoft office 2013 (kb4022166) 32-bit edition', 'unknown', 'null']
文件中的更多示例:
"[u'cpe:/o:microsoft:windows_7::sp1:x64-enterprise', u'cpe:/a:adobe:acrobat:11.0.19']"
我想要的是:
"['cpe:/o:microsoft:windows_7::sp1:x64-enterprise', 'cpe:/a:adobe:acrobat:11.0.19']"
最佳答案
您需要使用单词边界,用特殊字符\b
表示,该字符紧跟在边界上要匹配的第一个字符之前
$ echo "[u'a', u'hello']" | sed "s/\bu'/'/g"
['a', 'hello']
关于regex - 如何使用sed将u'sometext'替换为'sometext',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51789248/