在我的 OSX 机器上,我不能使用 ~ 作为就地 sed 的备份字符。任何其他角色都可以。我得到的错误是......神秘:rename(): Not a directory
。
例子:
$ echo foo > bar
$ sed -i ~ -e s/foo/hello/ bar
sed: rename(): Not a directory
$ ls -1
bar
$ cat bar
foo
$ sed -i _ -e s/foo/hello/ bar
$ ls -1
bar
bar_
$ cat bar
hello
$ cat bar_
foo