使用sed和cut将进程的pid过滤出来
维护集群的都知道,经常要启动或停止所有节点上的进程,这就要求要先获得pid,pid可以通过ps的输出得到,但必须滤掉除pid之外的其他信息。这可以用sed和cut来联合完成:
sed是支持extended regular expression的,只要在sed命令中用上 -r 这个选项就可以了,比如:
ps aux | grep ypbind | sed -r 's/ +/ /g'
这个命令,就可以将ps输出信息中所有的空格都裁减成一个空格,然后:
ps aux | grep ypbind | sed -r 's/ +/ /g' | cut -f2 -d" "
就可以用cut将ps的field一个一个的取出来了,因为cut中 -d" " 指定了delimiter是一个空格,而不是多个空格,所以,要先用sed将多个空格都变成一个空格,这样,cut就好处理了
sed是支持extended regular expression的,只要在sed命令中用上 -r 这个选项就可以了,比如:
ps aux | grep ypbind | sed -r 's/ +/ /g'
这个命令,就可以将ps输出信息中所有的空格都裁减成一个空格,然后:
ps aux | grep ypbind | sed -r 's/ +/ /g' | cut -f2 -d" "
就可以用cut将ps的field一个一个的取出来了,因为cut中 -d" " 指定了delimiter是一个空格,而不是多个空格,所以,要先用sed将多个空格都变成一个空格,这样,cut就好处理了