wc 打印不存在的进程的字节数

wc 打印不存在的进程的字节数

我偶然发现了一个名为 wc 的程序,它可以打印文件中的字节数、字数和行数。现在我打算使用它来确定某个进程是否真的在我的计算机上运行。如果是,它应该打印正在运行的进程中的字节数。否则它应该打印 0。但我可以使用一个虚构的进程,它仍然会打印字节数:

$ ps -ef | grep dfdsfdf | wc -c
74

那 74 是从哪里来的?

答案1

好的

首先

ps -ef 

将列出系统上的每个进程

然后你通过管道传输结果并搜索字符串“dfdsfdf”

除非命令 grep,否则输出将为空

hadi  28052 27027  0 08:54 pts/0    00:00:00 grep --color=auto dfdsfdf

现在您将此输出传递给管道,然后计算此输出的章程,从而获得 74。

要检查某些内容,请从字符串“dfdsfdf”中删除一个字符,然后计数变为 73。

看:

ps -ef | grep dfdsfd | wc -c
73

感谢@steeldriver 的评论。

值得补充的是,可以通过用正则表达式替换文字搜索字符串来“欺骗” grep 使其不匹配自己的输出

ps -ef | grep [d]fdsfdf | wc -c

这将返回 0

相关内容