如何解决在 OS X 上使用 'sed' 和 'find' 命令时出错:“无效的命令代码”
如果您在 OS X 上,这可能与 sed 命令无关。在 OSX
版本上sed
,该-i
选项需要一个extension
参数,因此您的命令实际上被解析为extension
参数,文件路径被解释为命令代码。
尝试-e
显式添加参数并''
作为参数提供-i
:
find ./ -type f -exec sed -i '' -e "s/192.168.20.1/new.domain.com/" {} \;
看到这个。
解决方法
被迫为当前客户端使用 CVS,并且远程 repo 的地址已更改。我能找到在本地代码中更改远程地址的唯一方法是递归搜索和替换。
但是,使用 sed 命令我希望可以工作:
find ./ -type f -exec sed -i "s/192.168.20.1/new.domain.com/" {} \;
我收到每个文件的错误:
sed: 1: ".//file/path ...": invalid command code .
我试图逃避 sed 匹配/替换中的句点,但这并不能解决任何问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。