说明:
grep用于分析一行信息, 若当中有我们所需要的信息,就将该行拿出来
语法:
# grep [-acinv] [--color=auto] '搜寻字符串' filename -a :将 binary 文件以 text 文件的方式搜寻数据 -c :计算找到 '搜寻字符串' 的次数 -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行! -C :--context=NUM print NUM lines of output context -B :before -A :after --color=auto :可以将找到的关键词部分加上颜色的显示喔!
示例:
范例一:将 last 当中,有出现 root 的那一行就取出来;
# last | grep 'root'
范例二:与范例一相反,只要没有 root 的就取出!
# last | grep -v 'root'
范例三:在 last 的输出信息中,只要有 root 就取出,并且仅取第一栏
# last | grep 'root' |cut -d ' ' -f1 //在取出 root 之后,利用上个命令 cut 的处理,就能够仅取得第一栏啰!
范例四:取出 /etc/man.config 内含 MANPATH 的那几行
# grep --color=auto 'MANPATH' /etc/man.config ....(前面省略).... MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man MANPATH_MAP /usr/bin/X11 /usr/X11R6/man MANPATH_MAP /usr/bin/mh /usr/share/man
神奇的是,如果加上 –color=auto 的选项,找到的关键词部分会用特殊颜色显示喔!
范例五:查看历史记录上下5行
# history |grep install-webconf -n5 //查看history中关于install-webconf上下5行的内容 # grep -C 5 foo file 显示file文件中匹配foo字串那行以及上下5行 # grep -B 5 foo file 显示foo及前5行 # grep -A 5 foo file 显示foo及后5行
实例六:多条件或查询
# grep -E '(a.a.a.a|b.b.b.b|c.c.c.c)' /var/log/secure //查询secure日志中有a.a.a.a或b.b.b.b或c.c.c.c的记录
附录:
1.高亮显示grep搜索的关键字
在关键字的显示方面,grep 可以使用 –color=auto 来将关键字部分使用颜色显示。 这可是个很不错的功能啊!但是如果每次使用 grep 都得要自行加上 –color=auto 又显的很麻烦~ 此时那个好用的 alias 就得来处理一下啦!你可以在 ~/.bashrc 内加上这行:『alias grep=’grep –color=auto’』再以『 source ~/.bashrc 』来立即生效即可喔! 这样每次运行 grep 他都会自动帮你加上颜色显示啦!