【求助】一个小问题!

【求助】一个小问题!

一般我们用awk,例如:awk '{print $2}' 可以打印出第二个字段的纪录,但是可能有很多行。
比如:ps -aux|grep $进程名 | awk '{print $2}'   
结果列出了两个pid,一个为进程本身,另一个为grep
即:2115
        2119
但是我只对进程本身的pid 感兴趣,怎么把第一行的pid单独拿出来呢?

我目前采用了重定向的方法来取,然后用 head -x 文件名 。
但是真的没有什么命令可以直接取出并赋给一个变量吗?
(附:将 命令输出结果 存储在一个变量中的方法可以是 变量名=`命令操作`  )
有什么命令操作可以直接把上面的多行字段,只取出我们感兴趣的某行?

谢谢,希望大家能明白我的问题。      
复制内容到剪贴板
代码:
$ ps -aux | grep bash | grep -v grep | awk '{ print $2; }'
      
awk也有if,如:
awk '{if (*****) print $1} '

so in redhat:

ps aux |grep processname |awk '{if ($11~/^processname/) print $2}'
or
TEST=`ps aux |grep processname |awk '{if ($11~/^processname/) print $2}'`
不过要注意,如果这个进程有好几个的话,那就对应的$TEST都会有好几个ID,所以最好用for循环来
取得每个ID。
看我执行后:
echo $TEST
1794 25991 30837 31742 32359 493 1210

呵呵。