我正试图让Red Hat Linux上的ps -ef
输出更具可读性。我知道这已被多次询问,但我有几个我经常需要监视的java进程,每个进程的行长度至少为500个字符,但每行的长度不同。我需要前14个字符,所以我得到了pid和同一行的最后40个字符,以获得名称。
到目前为止我得到的是:
ps -ef | grep -v 'eclipse' | grep java | cut -c1-14
删除正在运行的Eclipse副本,然后获取其他java进程,然后切入该行的第1部分。
我知道如何通过使用rev
剪切的两侧来获得最后一部分,但我无法弄清楚如何将2组合在一起。
答案 0 :(得分:1)
你可以给cut
几个区域剪切,但不能从最后剪切,所以要剪掉最后40个字符,你需要事先知道线长。
我建议使用更强大的工具,例如gawk
:
ps -ef|gawk '
/eclipse/ {next}
/java/ {
printf("%-10s %8s ...%s\n", $1, $2, substr($0,length()-40));
}'
还允许您很好地格式化输出。