我有一个文件,其数据具有以下格式
<A/Here> <A/There>
<B/SomeMoreDate> <C/SomeOtherDate>
现在,我想以一种有效的方式从文件中删除所有的A,B,C。我知道我可以将sed用于一种模式
sed -i 's/A//g' /path/to/filename.
但是,如何指定sed
包含一个or
来删除所有模式呢?
预期的输出是:
<Here> <There>
<SomeMoreDate> <SomeOtherDate>
Ivaylo Strandjev的答案是正确的,因为它可以解决想要匹配单个字符的问题。当匹配更长的字符串时,有一种方法。
s/\(\(stringA\)\|\(stringB\)\|\(stringC\)\)something/something else/
您可以尝试类似的操作:
echo stringBsomething | sed -e 's/\(stringA\|stringB\|stringC\)something/something else/'
可悲的是,sed
需要所有这些反斜杠。如果使用,可以避免某些情况-r
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句