使用 sed 将“[”替换为 [

Substitute “[“ to [ using sed

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

"[""test""]"

我想得到这个输出:

["teste"]

我已经尝试过以下命令:

sed -i s/"["/[/g *.csv
sed -i s/"]"/]/g *.csv

我收到此错误消息:

sed: -e expressou-me #1, character 7: Command `s' umfinished (s/// - mísseis delimitator)

有人可以帮我吗?

您必须转义 [,因为它代表 the bracket expression 在 POSIX BRE 开局。如果右括号 ] 先出现,则可以不转义(参见上面引用的标准中的第 1 点)。

sed -i 's/"\["/[/g; s/"]"/]/g' file

你可以试试这个

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