我在文件中有这个
echo "[[z[z[[e" > toto_test.txt
我正在尝试这个,事情还可以
sed -e 's,\],,g' -e 's,\[,,g' toto_test.txt
这样做突然间,它不再起作用了
sed -i 's,\],,g' -i 's,\[,,g' toto_test.txt
我有这个错误
sed: impossible to read s,\[,,g: No such file or directory
为什么以及如何克服这个问题?
感谢。
答案 0 :(得分:3)
试
sed -i -e 's,\],,g' -e 's,\[,,g' toto_test.txt
-i
表示就地修改,
-e
表示表达。
一旦理解了这一点,就很容易提供适当的参数。
答案 1 :(得分:2)
您不需要2次更换。只需将其用作:
sed -i.bak 's,[][],,g' toto_test.txt
答案 2 :(得分:1)
据我所知,-i不能重复。它期望为就地编辑的文件提供可选的备份后缀(在OS X上是必需的)。
尝试
sed -i 's,\],,g; s,\[,,g' toto_test.txt
(想把它作为评论,但我似乎不允许这样做,所以我做了回答)