grep
1.0、参考
1.1、GNU grep简介
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
1.2、通过包管理器安装GNU grep
操作系统包管理器安装命令
Windowsscoopscoop install grep
WindowsChocolateychoco install -y grep
macOSHomeBrewbrew install grep
GNU/LinuxHomeBrewbrew install grep
aptsudo apt-get install -y grep
CentOSyumsudo yum install -y grep
dnfsudo dnf install -y grep
openSUSEzyppersudo zypper install -y grep
Alpine Linuxapksudo apk add grep

Arch Linux

ArcoLinux

Manjaro Linux

pacmansudo pacman -Syyu --noconfirm
sudo pacman -S    --noconfirm grep
Gentoo LinuxPortagesudo emerge grep
1.3、通过编译源码安装GNU grep
1.4、grep命令

grep命令的使用格式如下:

grep PATTERN options... PATH
1.4.1、-r

grep默认只在指定的文件夹中查找,不在递归在子文件夹中查找,要想递归的在子文件夹中查找,就要使用该参数。

示例:

grep "com.fpliu" -r .
1.4.2、-l

grep默认会列出匹配的所在行的内容和所在的文件路径。如果不想要匹配到的所在行的内容,就可是使用此参数。

示例:

grep "com.fpliu" -rl .
1.4.3、-n

grep默认会列出匹配的所在行的内容和所在的文件路径。并没有显示匹配行的行号,如果想显示匹配到的行的行号,使用此参数。

示例:

grep "com.fpliu" -rn .
1.4.4、-e PATTERN | --regexp=PATTERN

正则表达式只有一个的时候,可以省略-e,当正则表达式有多个的时候,就需要用多个-e指定。

示例:

grep "com.fpliu" -rn .
grep -e "com.fpliu" -rn .
grep -e "com.fpliu" -e 'leleliu008' -rn .
1.4.5、-v | --invert-match

反向匹配正则表达式。也就是获得正则表达式没有匹配到的内容。

示例:

grep -v "com.fpliu" -rn .
grep -v -e "com.fpliu" -rn .
grep -v -e "com.fpliu" -e 'leleliu008' -rn .
1.4.6、--color=auto

可以将找到的关键词部分加上颜色,以区别于其他内容进行显示。

对于颜色的设置,还可以通过GREP_OPTIONS环境变量进行设置,这样,就不用每次敲命令的时候带上--color=auto参数了。

export GREP_OPTIONS='--color=auto'

还可以通过GREP_COLOR环境变量设置颜色:

取值颜色说明
30black
31red
32green
33yellow
34blue
35purple
36cyan
37white
export GREP_COLOR='31'