Mac下zsh, sed 反斜线与-i的报错提示

来源:9-4 sed中的编辑命令详解(上)

甲骨文_0001

2019-08-28

老师,您好,两个问题都是在Mac下操作的,是zsh
图片描述

/etc/passwd文件我已经放到Desktop桌面上了,那么我像您视频中操作一样,比如我要删除passwd第一行, sed -i ‘1d’ passwd, 它提示‘extra characters at the end of p command’
接着第二个问题: sed -i /\sbin/nologin/p’ passwd ,也是参照您视频中讲的,仍然报出错了和上面一个问题同样的错误
希望老师指点:)

写回答

2回答

酷田

2019-08-28

OS X有这个问题的,可以显示的在-i后面加一个空白符号,比如这样,sed -i ‘’ ‘1d’ passwd,其他后面的命令都这样执行!最后我还是建议学习shell在你的mac上安装一个虚拟化软件,然后在里面安装一个centos或者redhat,然后使用这个来联系……因为几乎所有的企业服务器都是使用centos或者redhat,另外一个原因就是mac有部分地方和shell不一样,这个对初学者是很大干扰

1
0

赵佳子彧

2021-10-29

sed -i ‘1d’ passwd在Mac中使用:
第一种方式:sed -i "" ‘1d’ passwd,
第二种方式:sed -i -e ‘1d’ passwd(推荐)
还有后面sed使用编辑命令a,在匹配到的行后追加内容,Mac如下格式:
在a\ 换行后追加内容,如下

~ % sed -i -e '/love/a\ 
quote> This is a love' sed.txt

Mac OS系统虽然也是类Linux的一个unix拓展,使用大体上没啥区别就是极个别使用方式比较有意思,哈哈哈😂  

1
0

掌握Shell脚本编程 360架构师带你进阶Linux高手

30%知识讲解+70%实例操作 掌握Shell脚本编程能力

1638 学习 · 297 问题

查看课程