如何从一行中删除括号?

CIs*_*ies 4 sed text-processing

给定这样的行:"hello my (name) is (user),如何'()'使用sed删除所有内容?

我目前正在做的是使用视觉块突出显示该行,然后:s/(//g一次又一次地为). 有没有办法(, )在一个sed命令中删除两者?

我的最终目标是 "hello my name is user"

hee*_*ayl 13

您可以使用字符类[()]作为正则表达式模式,并用空字符串替换模式以删除它们:

sed 's/[()]//g'
Run Code Online (Sandbox Code Playgroud)

所以:

% sed 's/[()]//g' <<<"hello my (name) is (user)"
hello my name is user
Run Code Online (Sandbox Code Playgroud)

g修饰符对所有匹配进行操作,否则sed将在第一次匹配后停止。


αғs*_*нιη 13

你也可以使用tr -d '()' <infile