使用一个 sed 命令替换两个字符

yae*_*ael 6 linux sed

我正在尝试使用一个 sed 命令删除=]字符:

# echo "A=[A]" | sed s'/[=\]]/ /g'
A=[A]
Run Code Online (Sandbox Code Playgroud)

这个语法有问题吗?

我期望从 sed 得到以下结果

# echo "A=[A]" | ....sed 
A [A
Run Code Online (Sandbox Code Playgroud)

小智 9

您可以使用“-e”标志来执行多个替换,例如:

# echo "A = [A]" | sed -e 's/=//' -e 's/]//'
A  [A
Run Code Online (Sandbox Code Playgroud)

有可能在一个替代项中同时匹配 '=' 和 ']',但即使是这样,我认为它不会比使用 '-e' 提供太多好处。


Dom*_*Dom 6

echo "A=[A]" | sed s'/[]=]/ /g'

A [A


use*_*517 5

使用tr来做这样的事情可能更容易,因为它不涉及与 RE 混淆

echo "A=[A]<-" | tr "]=" " "
A [A <- 
Run Code Online (Sandbox Code Playgroud)