【发布时间】:2018-08-03 09:30:02
【问题描述】:
我想合并以下命令的输出:
-网络统计
[root]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:32552 0.0.0.0:* LISTEN
151634/java
-PS
[root]# ps -eo pid,cmd | grep 151634
130485 grep --color=auto 151634
151634 java -classpath
我想结合以下 2 个命令并有以下 OUTPUT(txt 文件):
PORT PID CMD
123 333 java/etc
234 444 java/etcetc
345 555 java/etcetcetc
我做了以下:
netstat -nltp | awk '{print $4}' | sed -e 's/.*://'
这会打印来自 netstat -nltp 输出的端口
for i in `netstat -nltp | awk {'print $7}' | awk -F '/' {'print $1'} | uniq` ; do ps -eo pid,cmd | grep $(echo $i | sed "s/^\(.\)/[\1]/g") ; done
这会从 netstat -nltp 命令获取 PID,然后从 PS 命令显示 PID 和 CMD(也排除显示 grep --color=auto 结果
非常感谢!
LE:我删除了输出 html 以避免混淆。这只是一个关于它应该是什么样子的例子。
【问题讨论】:
标签: linux parsing output pid netstat