如何在pgrep中搜索不区分大小写?

时间:2011-10-12 08:38:46

标签: bash

pgrep使用正则表达式作为模式样式。我想念grep的-i选项,告诉pgrep,我正在搜索不区分大小写。

另一种选择是

ps ax | grep -i PATTERN

但是我必须使用PID发送KILL信号。使用pgrep和pkill组合,我可以使用相同的模式来杀死应用程序。

如何在bash上动态使用正则表达式的REG_ICASE?

3 个答案:

答案 0 :(得分:9)

如果字符串不太长:

pkill -f '[Pp][Aa][Tt][Ee][Rr][Nn]'

答案 1 :(得分:6)

kill `ps ax | grep -i PATTERN | awk '{ print $1 }'`

使用神奇的`

将杀死所有进程匹配不区分大小写的进程

答案 2 :(得分:0)

在pgrep的手册页上:man pgrep下的i

 -i          Ignore case distinctions in both the process table and the
             supplied pattern.

因此,我们可以像下面这样使用选项i

pgrep -fi 'PATTERN'

即:

pgrep -f 'chrome'
echo $?
1

但是包含-fi选项的工作原理是

pgrep -fi 'ChRoMe'

输出:

>   872
    910
    41391
    60087
    60090
    60092