linux grep命令


下面介绍一些常用的管道命令。

提取命令: grep

回到顶部
cut命令是提取一行中的某一段内容,而grep则是提取符合条件的一整行信息。 grep会分析一行信息, 如果该行有我们所需要的信息,就将整行信息提取出来:
[peter@study ~]$ grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将binary文件以text文件的方式搜寻数据;
-c :计算找到'搜寻字符串'的次数;
-i :忽略大小写的不同,大小写视为相同;
-n :顺便输出行号;
-v :反向选择,亦即显示出没有'搜寻字符串'内容的那一行;
--color=auto :可以将找到的关键词部分加上颜色显示!
将last命令的输出中,输出带有root的行:
[peter@study ~]$ last | grep 'root'
与上例相反,取出没有root的行:
[peter@study ~]$ last | grep -v 'root'
在last的输出信息中,取出含有root的行,并且每行只取第一栏:
[peter@study ~]$ last | grep 'root' | cut -d ' ' -f 1
# 在取出 root 之后,利用上个命令 cut 的处理,就能够仅取得第一栏啰!
取出/etc/manpath.conf文件中含有MANPATH的行:
[peter@study ~]$ grep --color=auto 'MANPATH' /etc/manpath.config
...省略...
MANPATH_MAP	/bin			/usr/share/man
MANPATH_MAP	/usr/bin		/usr/share/man
MANPATH_MAP	/sbin			/usr/share/man
...省略...
加上--color=auto选项,grep会将找到的关键词用特殊颜色显示! CentOS 7当中,alias grep='grep --color=auto',grep其实是grep --color=auto的命令别名。 默认就已经加上--color=auto了! grep可以解析一行文字,取得关键词,若该行有存在关键词,就会整行列出来! grep是个非常实用的命令!结合正则表达式,可以提取复杂的数据。关于正则表达式,我们稍后介绍。

本文由initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读