gpt4 book ai didi

linux - 如何从ps中删除中间行?

转载 作者:太空宇宙 更新时间:2023-11-04 10:56:30 25 4
gpt4 key购买 nike

我正在努力使 ps -ef 的输出在 Red Hat Linux 上更具可读性。我知道这个问题已经被问过很多次了,但是我有几个我经常需要监视的 java 进程,每个进程的行长度至少为 500 个字符,但每行的长度不同。我需要前 14 个字符,以便获取 pid,并需要同一行的最后 40 个字符来获取名称。

到目前为止我得到的是:

ps -ef | grep -v 'eclipse' | grep java | cut -c1-14

它删除了我正在运行的 Eclipse 副本,然后获取其他 java 进程,然后切入该行的第一部分。

我知道如何通过在剪切的两侧使用 rev 来获得最后一部分,但我不知道如何将两者组合在一起。

最佳答案

你可以给cut几个区域进行剪切,但它不能从末尾开始剪切,所以要剪切最后40个字符,你需要提前知道行的长度。

我建议使用更强大的工具,如 gawk:

ps -ef|gawk '
/eclipse/ {next}
/java/ {
printf("%-10s %8s ...%s\n", $1, $2, substr($0,length()-40));
}'

这还允许您很好地格式化输出。

关于linux - 如何从ps中删除中间行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28558132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com