显示未记录的用户处理Linux Bash脚本



我正在做一个bash脚本,我正在散布显示未记录的用户流程,这些过程通常是守护程序过程,因此,在练习中,他们推荐我:

要处理命令行,我们将使用cut命令,该命令允许 通过过滤器选择列表的不同列。

我使用了:

ps -A | grep -v w
ps -A | grep -v who 
ps -A | grep -v $USER

但是尝试所有这些选项,所有用户的所有过程都在输出文件中打印出来,我只希望未记录的用户的过程。

感谢您的帮助

谢谢。

grep -v w将删除与正则表达式 w匹配的行(这只是包含字符串 w的任何内容)。要运行命令 w,您必须这样说;但是,正如说明中暗示的那样,您还需要使用cut来后处理输出。

,以免完全放弃答案,这里有粗糙的伪代码。

w | cut something >tempfile
ps -A | grep -Fvf tempfile

,如果您可以通过管道中的w的后处理结果,但是标准输入已经与ps -A相关,那将是很好的。如果您有支持流程替代的外壳,则可以使用。

ps -A | grep -Fvf <(w | cut something)

不幸的是,w的输出无法正确地可读 - 您也将正确地剪切标题线。(在我的计算机上,有两个标题线。您的可能会有所不同。)课程以后您可能会学到一些尴尬,但是直到那时,也许是类似

的东西
ps -A | grep -Fvf <(w | tail -n +3 | cut something)

这仍然不能完全处理所有可能的情况。如果某人的帐户名是grep

最新更新