我有一个文件名clfile.me,看起来像这样;
44433430,"FALSE"
33095934,"TRUE"
41549968,"TRUE"
37945528,"FALSE"
18284764,"FALSE"
15007934,"FALSE"
数字是AIX PID。我有一个命令将PID与正在运行的进程匹配。
while read p; do
ps -ef | grep $p | grep 'myproram' | grep -v grep | awk "{ print \$2 }" >> clout.me
done < clfile.me
以上工作但只显示了与grep命令匹配的PID。我希望能够从原始文件中看到匹配的PID和TRUE或FALSE值。我想我问的是如何通过与我的grep命令匹配的PID过滤原始文件。
有什么想法吗?
由于 克里斯
答案 0 :(得分:1)
我花了一会儿,但我知道了!
cat /dev/null > clout.me
while read p; do
x=$(awk '{ print $1 }')
ps -ef | grep x | grep 'myprogram' | grep -v grep | awk "{ print \$2 }" >> clout.me
done < clfile.me
awk 'FNR==NR{A[$1]=1;next} A[$1]' clout.me clfile.me