sed替换掉文本里的圆括号?

sed -i "3s/(//g" text.txt 可以去掉文件里的"("
sed -i "3s/)//g" text.txt 可以去掉文件里的")"
能不能只写一个sed命令把( 和 ) 同时替换掉?

可以使用一个sed命令实现将文件中的所有左右括号替换为空字符串。命令如下:

其中,s/[()]//g表示全局替换方案,将文件中所有括号(包括左括号 ( 和右括号 ))替换成空字符串(即删除)。注意,这里需要用到正则表达式的字符类([])来描述括号。最后的text.txt是待处理文件的名称。

使用上述命令,可以同时去掉文件中的左括号和右括号。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-04-04

您可以使用sed命令将文本中的圆括号一起替换掉。例如,以下命令可以将文件text.txt中所有的左右圆括号替换为空字符串:

sed -i 's/[()]//g' text.txt

这个命令使用正则表达式中的字符类[()]匹配所有的左右圆括号,然后使用s替换命令将它们替换成空字符串。g标志表示全局替换,如果不加上这个标志,则只会替换每行中的第一个匹配。最后的-i标志表示直接修改原文件,如果不需要直接修改原文件,可以将这个标志去掉,并将输出重定向到一个新的文件中。

第2个回答  2023-04-04
可以使用以下的 `sed` 命令将文件中的圆括号(左括号和右括号)一起替换掉:
```
sed -i 's/[()]//g' text.txt
```
其中,`[()]` 表示一个字符集,其中包含左右圆括号。这个命令将左右圆括号替换为空,实现同时替换的效果。这里的 `-i` 表示直接修改文件,文件名为 `text.txt`。

需要注意的是,如果文件中的圆括号被用作正则表达式的元字符,这个命令可能会对原始文本产生意外的影响,因此在使用时需要谨慎。
相似回答