short for | : | global regular expression print |
是什么 ? | : | a powerful command-line tool for matching a regular expression against text in a file, multiple files, or a stream of input. It searches for the PATTERN of text that you specify on the command line, and outputs the results for you. |
开发语言 | : | C |
开发组织 | : | GNU |
官方主页 | : | http://www.gnu.org/software/grep |
同类软件 | : | BSD grep |
操作系统 | 包管理器 | 安装命令 |
---|---|---|
Windows | scoop | scoop install grep |
Windows | Chocolatey | choco install -y grep |
macOS | HomeBrew | brew install grep |
GNU/Linux | HomeBrew | brew install grep |
apt | sudo apt-get install -y grep | |
CentOS | yum | sudo yum install -y grep |
dnf | sudo dnf install -y grep | |
openSUSE | zypper | sudo zypper install -y grep |
Alpine Linux | apk | sudo apk add grep |
pacman | sudo pacman -Syyu --noconfirm | |
Gentoo Linux | Portage | sudo emerge grep |
grep
命令的使用格式如下:
grep PATTERN options... PATH
grep
默认只在指定的文件夹中查找,不在递归在子文件夹中查找,要想递归的在子文件夹中查找,就要使用该参数。
示例:
grep "com.fpliu" -r .
grep
默认会列出匹配的所在行的内容和所在的文件路径。如果不想要匹配到的所在行的内容,就可是使用此参数。
示例:
grep "com.fpliu" -rl .
grep
默认会列出匹配的所在行的内容和所在的文件路径。并没有显示匹配行的行号,如果想显示匹配到的行的行号,使用此参数。
示例:
grep "com.fpliu" -rn .
当正则表达式
只有一个的时候,可以省略-e
,当正则表达式
有多个的时候,就需要用多个-e
指定。
示例:
grep "com.fpliu" -rn .
grep -e "com.fpliu" -rn .
grep -e "com.fpliu" -e 'leleliu008' -rn .
反向匹配正则表达式
。也就是获得正则表达式
没有匹配到的内容。
示例:
grep -v "com.fpliu" -rn .
grep -v -e "com.fpliu" -rn .
grep -v -e "com.fpliu" -e 'leleliu008' -rn .
可以将找到的关键词部分加上颜色,以区别于其他内容进行显示。
对于颜色的设置,还可以通过GREP_OPTIONS
环境变量进行设置,这样,就不用每次敲命令的时候带上--color=auto
参数了。
export GREP_OPTIONS='--color=auto'
还可以通过GREP_COLOR
环境变量设置颜色:
取值 | 颜色说明 |
---|---|
30 | black |
31 | red |
32 | green |
33 | yellow |
34 | blue |
35 | purple |
36 | cyan |
37 | white |
export GREP_COLOR='31'