在bash中使用这样的sed时,会返回以下消息。
bash-3.2$ sed -i 's/\t/ /g' hoge.txt
sed: 1: "hoge.txt": extra characters at the end of h command
我知道我需要一个后缀才能使用此命令。但是,我无法找到" h命令"的含义。这是什么意思?
答案 0 :(得分:4)
sed的-i
参数接受一个参数,所以你认为你的sed命令实际上是就地编辑的备份文件名后缀。然后hoge.txt
被视为要运行的命令,因此有关h
命令的错误。
执行此操作的正确方法是sed -i '' -e 's/\t/ /g' hoge.txt
使用-e
并非严格要求,但通过传递它,您可以确保sed将下一个令牌视为命令。