Mac用户注意了,你的sed命令...

简介: Mac用户注意了,你的sed命令...

MacOS 上使用 sed 命令时与 linux 上并不相同,一定要主要!

当我们在使用 sed 对文本内容进行替换操作时(比如进行全局替换),一般如下:

sed -i "s#err#right#g" test_sed.txt

test_sed.txt 文件中的 err 全部替换为 right

但是在 MacOS 上输出上面的命令,会报错如下:

sed: 1: "test_sed.txt": undefined label 'est_sed.txt'

原因是:在 MacOS 上使用 sed 命令时参数不同

使用方法:要达到与上述命令相同结果,只需像下面这样:

sed -i '' "s#err#right#g" test_sed.txt

第一个参数为是否需要备份,如果填空不进行备份;一旦填入内容,将生成一个以填入内容为后缀的备份文件。

如要生成备份文件,命令如下:

sed -i '.bak' "s#right#err#g" test_sed.txt

会生成一个 test_sed.txt.bak 文件,此文件内容没有更改,test_sed.txt 文件内容中所有的 right 被更改为 err

相关文章
|
3月前
|
存储 Shell
Mac终端工具Terminal (3):在Mac上的终端中执行命令和运行工具
Mac终端工具Terminal (3):在Mac上的终端中执行命令和运行工具
258 0
|
2月前
|
NoSQL Java 网络安全
Redis在java(Maven)中使用,常用基本命令大全,最全Termius怎么进行端口映射(MAC系统最简单教学)
Redis在java(Maven)中使用,常用基本命令大全,最全Termius怎么进行端口映射(MAC系统最简单教学)
|
3月前
|
Shell 测试技术 Python
在Mac上用Python调用终端执行命令
在Mac上用Python调用终端执行命令
131 1
|
9月前
Mac 下终端命令无法使用的问题
Mac 下终端命令无法使用的问题
160 1
|
3月前
|
存储 搜索推荐 Shell
mac下终端命令提示补全
mac下终端命令提示补全
244 0
|
11月前
|
移动开发 Unix Linux
sed命令在Mac和Linux下的不同
sed命令在Mac和Linux下的不同
68 0
|
3月前
|
Shell Docker 容器
mac终端命令补全设置(docker 命令补全)
mac终端命令补全设置(docker 命令补全)
93 0
|
9月前
|
数据可视化 应用服务中间件 nginx
Mac使用命令可视化编辑文件(open命令)
Mac使用命令可视化编辑文件(open命令)
77 0
|
9月前
|
缓存 网络安全 开发工具
Mac/Windows Git配置SSH和Git常用命令及iTerm2使用技巧
Mac/Windows Git配置SSH和Git常用命令及iTerm2使用技巧
215 0
|
11月前
|
JavaScript Shell Serverless
【shell命令】关于mac的open命令
mac下的命令小工具。
193 0