我遇到了以下sed命令,我在这里找到https://github.com/shama/grunt-hub:
ps -ef | sed -n '/grunt/{/grep/!p;}'
有人可以解释一下sed
部分的工作原理吗? {/grep/!p;}
的目的是什么?
感谢您的关注!
答案 0 :(得分:2)
比较以下两个命令的输出:
ps -ef | sed -n '/grunt/p'
和ps -ef | sed -n '/grunt/{/grep/!p;}'
。
稍后你会注意到没有打印另外一个包含你点击的grep命令的进程ID的附加内容。这相当于:
ps -ef |grep grunt |grep -v grep
它喜欢打印包含grunt但不包含grep的行的所有行