我有一个可以有多个实例的流程。 ps 显示实例名称,而 netstat 当然给出二进制文件的名称而不是实例名称。我的目标是使用类似的东西
ps-ef | grep Actimize_CDD | grep Actimize_CDD | grep Actimize_CDD grep -v“grep”| awk '{打印$2}'
作为 netstat 上 grep 的输入,类似于:
netstat -anp | 网络统计grep tcp | | grep tcp | grep 听 | grep $resultFromPrevious | grep $结果awk '{print substr($4, length($4)-3,length($0))}'
我一直在查看 xargs 并尝试了一些命令替换,但是当然,它不是尝试对输入字符串执行 grep,而是尝试对字符串进行 grep。
想法?如果可能的话,我想坚持使用我所知道的(awk、管道、xargs),尽管我愿意学习新事物。
答案1
我发誓我尝试过反引号,但 der Bender 是正确的:
[root@puflopactmzaa01 外部文件系统]#netstat -anp | 网络统计grep tcp | | grep tcp | grep 听 |查询ps -ef | grep Actimize_CDD | grep -v "grep" | awk '{print $2}'
| awk '{print substr($4, length($4)-3,length($0))}'
产生输出:
2355 2356 2357 2358