grep 中结果之间的换行符

grep 中结果之间的换行符

我需要偶尔监控服务器上正在运行的爬虫程序。我正在测试它以查看有多少次迭代同时运行以及是否有任何迭代挂起。

我用的是这个:

echo `ps -ewwo args | grep '^[^ ]*curl'`

输出全部在一行中。如果我将其更改为

echo `ps -ewwo args | grep -n '^[^ ]*curl'`

我得到了行号,但输出仍然在一行中。如何将结果分成几行?

作为测试,我做了类似的事情

grep "br" /home/user/www/index.php

它发现了很多实例并将它们分别输出在单独的行上,就像我希望的那样。

答案1

如果您不引用子 shell 的输出`...`,换行符将被空格替换。如果您想要换行符,则不要使用子`...`shell,只需运行命令并让它们自行输出,echo根本不要使用,例如:

ps -ewwo args | grep '^[^ ]*curl'
ps -ewwo args | grep -n '^[^ ]*curl'

相关内容