grep 是分析一行信息,若当中有我们所需要的信息,就将该行拿出来。

#命令格式:
grep [-acinv] [--color=auto] '查找字符串' filename
#参数:
-a    #将 binary 文件以 text 文件的方式查找数据
-c    #计算找到 '查找字符串' 的次数
-i    #忽略大小写
-n    #输出行号
-v    #反响选择
-A    #后面可加数字,after 的意思,除了列出该行外,后续的 n 行也列出来
-B    #后面可加数字,before 的意思,除了列出该行外,前面的 n 行也列出来
--color=auto    #关键字颜色高亮显示
last | grep 'root'
last | grep -v 'root'
last | cut -d ' ' -f1 | grep 'root' --color=auto
grep --color=auto 'MANPATH' /etc/man.config
#用 dmesg 列出内核信息,再以 grep 找出内含 eth 的那行
#dmesg 可以列出内核产生的信息,通过 grep 来选取网卡相关信息 (eth)
dmesg | grep 'eth'
#将找到的关键字颜色高亮,并且加上行号来表示
dmesg | grep -n --color=auto 'eth'
#在关键字所在行的前两行与后三行也一起找出来显示
#这样可以让你将关键字前后数据捕获出来进行分析
dmesg | grep -n -A3 -B2 --color=auto 'eth'

grep 是一个常用的命令,它最重要的功能是进行字符串数据的对比,然后将符合用户需求的字符串打印出来。grep 在数据中查找一个字符串时,是以整行为单位来进行数据选取的。假如一个文件内有10行,其中有两行具有所需要查找的字符串,则将那两行显示在屏幕上,其他则丢弃。

在显示关键字方面,可以使用 --color=auto 将关键字部分使用颜色高亮显示。可以将它添加到alias别名里去,这样每次执行 grep 时就会自动颜色高亮显示了。

vim ~/.bashrc
alias grep='grep --color=auto'
soure ~/.bashrc