当前位置: 技术问答>linux和unix
【求解释】ps ag | egrep "正则',正则管道的问题
来源: 互联网 发布时间:2017-04-08
本文导语: 各位兄弟, 有个问题,帮忙解释一下 $ ps ag | egrep "watchwho$" 19603 pts/1 S+ 0:00 /bin/bash /home/me/bin/watchwho 19605 pts/1 S+ 0:00 /bin/bash /home/gavin/bin/watchwho $ ps ag | egrep "watchwho" 19603 pts/1 S+ ...
各位兄弟, 有个问题,帮忙解释一下
为什么用egrep 正则 "watchwho$" 匹配不显示下面这行呢?
20569 pts/2 S+ 0:00 egrep --color=auto watchwho
而下面这样却可以? 我猜测是管道| 命令的问题,兄弟们,你们怎么看?
$ ps ag | egrep "watchwho$"
19603 pts/1 S+ 0:00 /bin/bash /home/me/bin/watchwho
19605 pts/1 S+ 0:00 /bin/bash /home/gavin/bin/watchwho
$ ps ag | egrep "watchwho"
19603 pts/1 S+ 0:00 /bin/bash /home/me/bin/watchwho
19605 pts/1 S+ 0:00 /bin/bash /home/me/bin/watchwho
20569 pts/2 S+ 0:00 egrep --color=auto watchwho
为什么用egrep 正则 "watchwho$" 匹配不显示下面这行呢?
20569 pts/2 S+ 0:00 egrep --color=auto watchwho
而下面这样却可以? 我猜测是管道| 命令的问题,兄弟们,你们怎么看?
$ ps ag | egrep "watchwho" > temp
$ cat temp | egrep "watchwho$"
19603 pts/1 S+ 0:00 /bin/bash /home/me/bin/watchwho
19605 pts/1 S+ 0:00 /bin/bash /home/me/bin/watchwho
20827 pts/2 S+ 0:00 egrep --color=auto watchwho
|
应该不是这样的吧
ps ag | egrep "watchwho$"
对egrep的参数来说,输入是 watchwho$
即这个时候ps看到的是 egrep --color=auto watchwho$
显然这个时候不是满足egrep的匹配的,所以没列出来
ps ag | tee pslog | egrep "watchwho$"
lz可以用以上命令验证
ps ag | egrep "watchwho$"
对egrep的参数来说,输入是 watchwho$
即这个时候ps看到的是 egrep --color=auto watchwho$
显然这个时候不是满足egrep的匹配的,所以没列出来
ps ag | tee pslog | egrep "watchwho$"
lz可以用以上命令验证
|
这整个命令去执行。
ps ag | egrep "watchwho$"
然后egrep "watchwho$$"这样子的才会匹配到上面这个命令。
所以本身会除去了。
类似egrep "[w]atchwho"的形式一样,需要egrep "[w]atchwho"的方式才能把它grep出来。
ps ag | egrep "watchwho$"
然后egrep "watchwho$$"这样子的才会匹配到上面这个命令。
所以本身会除去了。
类似egrep "[w]atchwho"的形式一样,需要egrep "[w]atchwho"的方式才能把它grep出来。