大前端开发

mac os上使用sed的一个坑

2018-02-22  本文已影响76人  link_hui

问题

sed可以替换文件中的某个部分。
通常查到的命令如下:

sed -i 's/main/fun/g' 'Test.txt'

但是在mac os上执行却遇到下面的错误。

sed: 1: "Test.txt": invalid command code T

原因

执行man sed查看帮助,发现 -i 操作后面要跟一个extension参数,明确备份的文件

     -i extension
             Edit files in-place, saving backups with the specified extension.  If a zero-length
             extension is given, no backup will be saved.  It is not recommended to give a zero-length
             extension when in-place editing files, as you risk corruption or partial content in situa-
             tions where disk space is exhausted, etc.

如果不需要备份文件,则设置一个长度为0的参数

解决

sed -i '' 's/main/fun/g' 'Test.txt'
上一篇下一篇

猜你喜欢

热点阅读