我试图了解如何在grep和wc中使用特殊字符

时间:2016-04-28 16:52:06

标签: linux bash grep wc

你能详细解释一下这个命令发生了什么吗?

grep -nw '^root' /etc/passwd

^ ' 有什么用?请给我举例并详细说明,因为我听说它是​​行的开头。我不明白每个特殊字符的含义。

如何使用 wc grep ^ 查找系统上运行的非root进程数?

1 个答案:

答案 0 :(得分:0)

grep -nw '^root' /etc/passwd

它逐行读取/ etc / passwd文件并过滤掉^ =以开头的所有行-w =完整的单词“root”。所以,例如行

root:x:0:0:root:/root:/bin/bash

要查看系统上的所有进程,可以使用ps aux。它会显示这样的行

root 22866  0.0 [...] 0:00 [kworker/1:0]

如您所见,这些行以用户名开头。如果您通过ps aux管道grep输出,则可以使用上面的相同RegEx来过滤掉以“root”开头的所有行。

使用-v反转模式匹配,以便grep -vw '^root'找到所有的行以完整的单词“root”开头。

ps aux | grep -vw '^root' | wc -l

最后,wc -l计算它接收的行数。这是ps aux中所有不以“root”开头的行数。