当我使用时:ps -o user,cmd
我的输出是:
User CMD
0 in.telnetd
0 sh
0 processd
0 processe
0 in.telnetd
0 -sh
0 top
我想在执行grep命令后得到2行(包含processd& processe)。
我用过的东西:
1. ps -o user,cmd | grep "processd\|processe"
2. ps -o user,cmd | grep processd | grep processe
我使用正确的格式来grep我想要的东西,还是我需要修改我的查询?
答案 0 :(得分:1)
一种方式是:
ps -o user,cmd | grep "process[de]"
当然你可能最终也会抓住像
这样的行0 /some/other/app --with --lots of arguments including also processe
为了确保你没有抓住它,你应该使用awk。
答案 1 :(得分:1)
您正在寻找
ps -o user,cmd | egrep "processd|processe"
当我需要检查日志文件时,我会使用类似的东西:
interesting="keyword1"
interesting+="|key2
interesting+="|key3"
skip="garbage1"
skip+="|garb2"
skip+="|garb3"
grep "^20150909" logfile | egrep "${interesting}" | egrep -v "${skip}"