请参阅以下情形,创建文件,添加内容,搜索并替换它。
$ touch testing.txt
$ echo "this is mkyong.com" > testing.txt
$ cat testing.txt
this is mkyong.com
$ sed -i 's/mkyong/google/g' testing.txt
sed: 1: "testing.txt": undefined label 'esting.txt'
此sed -i 's/mkyong/google/g' testing.txt
命令在Linux中正常运行,但在Mac OS X上出现“ undefined label ”错误消息。
解
sed
命令在Mac OS X中有点不同,“-i”选项需要一个参数来告诉您要为备份文件添加的扩展名。
要修复它,只需添加备份文件的扩展名,例如'.bak':
$ sed -i '.bak' 's/mkyong/google/g' testing.txt
$ ls -ls
8 -rw-r--r-- 1 mkyong staff 19 Aug 2 14:22 testing.txt
8 -rw-r--r-- 1 mkyong staff 19 Aug 2 14:21 testing.txt.bak
$ cat testing.txt
this is google.com
$ cat testing.txt.bak
this is mkyong.com
标签: mac
翻译自: https://mkyong.com/mac/sed-command-hits-undefined-label-error-on-mac-os-x/