热门IT资讯网

grep命令总结

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,grep命令使用与总结grep它最擅长是过滤内容/匹配内容常用参数有以下几个-v:排除已经匹配到内容的行(最小单位是:行)-o:只显示被到的内容,基本也没有什么作用,不要去记住它-A:在匹配到内容的当

grep命令使用与总结


grep它最擅长是过滤内容/匹配内容


常用参数有以下几个


-v:排除已经匹配到内容的行(最小单位是:行)

-o:只显示被到的内容,基本也没有什么作用,不要去记住它

-A:在匹配到内容的当前行,向后面显示多少条内容 After=>后面的意思

-B:在匹配到内容的当前行,向前面显示多少条内容 Beforce=>前面的意思

-C:在匹配到内容的当前行,以当前行为中心,上下各显示多少条内容 Center=〉中间的意思

-E:egrep的扩展 参数加上它 可以一次性匹配多条个条件 但要用竖线进行分隔 |

-n:显示内容的行号


使用grep匹配内容的时候 建议使用双引号



示例如下:


1、在/etc/passwd文件里面 匹配到 hadoop这个词

[root@oldboyLinux ~]# grep "hadoop" /etc/passwdhadoop:x:500:500::/home/hadoop:/bin/bash


2、参数-v的使用 排除内容为 ftp的内容 所有带有ftp字样的行 都不要显示出来

[root@oldboyLinux ~]# grep -v "ftp" /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin.........tcpdump:x:72:72::/:/sbin/nologinoprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologinhadoop:x:500:500::/home/hadoop:/bin/bash


3、使用正则表达式来进行匹配

如果想过滤掉所有的配置文件为注释的内容 排除所有以#开头的行内容

[root@oldboyLinux etc]# grep -v "^#" /etc/udev/rules.d/70-persistent-net.rules


4、匹配以什么字符结尾的内容

[root@oldboyLinux etc]# grep "nologin$" /etc/passwd


5、grep还可以显示文件内容的行号 -n参数的使用

[root@oldboyLinux etc]# grep -n . /etc/passwd1:root:x:0:0:root:/root:/bin/bash2:bin:x:1:1:bin:/bin:/sbin/nologin3:daemon:x:2:2:daemon:/sbin:/sbin/nologin4:adm:x:3:4:adm:/var/adm:/sbin/nologin5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin6:sync:x:5:0:sync:/sbin:/bin/sync7:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown8:halt:x:7:0:halt:/sbin:/sbin/halt9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin10:uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin11:operator:x:11:0:operator:/root:/sbin/nologin12:games:x:12:100:games:/usr/games:/sbin/nologin13:gopher:x:13:30:gopher:/var/gopher:/sbin/nologin14:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin15:nobody:x:99:99:Nobody:/:/sbin/nologin16:dbus:x:81:81:System message bus:/:/sbin/nologin17:vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin18:abrt:x:173:173::/etc/abrt:/sbin/nologin19:haldaemon:x:68:68:HAL daemon:/:/sbin/nologin20:ntp:x:38:38::/etc/ntp:/sbin/nologin21:saslauth:x:499:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin22:postfix:x:89:89::/var/spool/postfix:/sbin/nologin23:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin24:tcpdump:x:72:72::/:/sbin/nologin25:oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin26:hadoop:x:500:500::/home/hadoop:/bin/bash


0