替换为“;[“;至[使用sed

替换为“;[“;至[使用sed,sed,windows-shell,Sed,Windows Shell,我正在尝试使用以下输入更正文件的某些错误: "[""test""]" 我想得到这个输出: ["teste"] 我已经尝试了以下命令: sed -i s/"["/[/g *.csv sed -i s/"]"/]/g *.csv 我收到以下错误消息: sed:-e expressou me#1,字符7:命令's'umfinished(s//-mísseis定界符) 有人能帮帮我吗?你必须避开[,因为它代表POSIX BRE中的打开。如果关闭括号]首先出现,则可以不跳过它(参见上面引用的标准中的

我正在尝试使用以下输入更正文件的某些错误:

"[""test""]"
我想得到这个输出:

["teste"]
我已经尝试了以下命令:

sed -i s/"["/[/g *.csv
sed -i s/"]"/]/g *.csv
我收到以下错误消息:

sed:-e expressou me#1,字符7:命令's'umfinished(s//-mísseis定界符)


有人能帮帮我吗?

你必须避开
[
,因为它代表POSIX BRE中的打开。如果关闭括号
]
首先出现,则可以不跳过它(参见上面引用的标准中的第1点)

你可以试试这个

sed 's/"//g;s/[a-z]\{1,\}/\"&e"/'

我有相同的输入,你这是什么意思,我不明白。这个
sed
表达式和你的表达式不一样(注意
\[
)。你能在你的例子上试试这个吗:
echo'[“test”“]”“'”sed's/“\[”/[/g;s/“]/]/g'
?我不能使用“因为我在windows中,但我测试时没有它,结果是一样的…”。。。
sed 's/"//g;s/[a-z]\{1,\}/\"&e"/'