关于Linux shell的两个问题

1.在《实例妙解Sed和Awk的秘密》3-7里面介绍了一段代码:

sed  's/\(^[a-z]\+\):.*$/\1/'  passwd

含义是用sed的分组方法提取passwd文件的用户名列,我在自己练习的时候,想当然的加了-n 参数,结果发现输出结果为空,请问是什么逻辑呢?

2.同样是sed命令,我发现-n 和 -i两个参数同时使用,会直接将修改行的内容覆盖原文件,导致原文件内容消失,请问这又是什么逻辑呢?

醉卧遥峰丶
浏览 1044回答 1
1回答

卧龙绝圣

个人理解: 1. -n是取消了自动打印,会打印新增的列,这条命令没有新增的列,所以打印为空 2. -i的作用就是直接修改原文件
打开App,查看更多内容
随时随地看视频慕课网APP