科技常识:Linux下grep命令使用实例

2021-06-11 22:19:28
导读今天小编跟大家讲解下有关科技常识:Linux下grep命令使用实例,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:Linux

今天小编跟大家讲解下有关科技常识:Linux下grep命令使用实例,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:Linux下grep命令使用实例的相关资料,希望小伙伴会喜欢也能够帮助大家。

grep命令参数

grep ‘word’ 文件名grep ‘word’ 文件1 文件2 文件3 …文件Ngrep ‘字符串1 字符串2’ 文件名cat 文件名| grep ”字符串“命令 | grep “字符串”grep –color “字符串” 文件名

如何使用grep命令去搜索某个文件中的内容呢?

查找 /etc/passwd 文件中是否存在user1这个用户,可以使用下面的命令:复制代码代码如下:[root@devops ~]# grep user1 /etc/passwduser1:x:501:501::/home/user1:/bin/bash[root@devops ~]#如果想忽略大小写去查找比如:User1,USER1或者其它的组合,可以使用-i选项复制代码代码如下:[root@devops ~]# grep -i user1 /etc/passwduser1:x:501:501::/home/user1:/bin/bashUSER1:x:502:502::/home/USER1:/bin/bash[root@devops ~]#grep 命令递归查找

你可以递归去查找某个目录下各级子目录里的匹配查找模式的行,使用-r 选项复制代码代码如下:[root@devops ~]# grep -r user1 /etc | more/etc/group-:user1:x:501:/etc/shadow:user1:!!:16176:0:99999:7:::/etc/group:user1:x:501:/etc/passwd-:user1:x:501:501::/home/user1:/bin/bash/etc/gshadow-:user1:!::/etc/shadow-:user1:!!:16176:0:99999:7:::/etc/passwd:user1:x:501:501::/home/user1:/bin/bash/etc/gshadow:user1:!::/etc/postfix/virtual:# user1@virtual-alias.domain address1[root@devops ~]#使用grep去匹配某一个单词

选项-w使grep命令只查找作为一个词,而不是词的一部分去做匹配

举例说明:复制代码代码如下:[root@devops ~]# grep user1 /etc/passwduser1:x:501:501::/home/user1:/bin/bashuser1add:x:503:503::/home/user1add:/bin/bash[root@devops ~]# grep -w ‘user1′ /etc/passwduser1:x:501:501::/home/user1:/bin/bash在本例中能够匹配“user1″的模式有两行,那么当你只想匹配一个完整的user1这个单词的时候,可以使用-w选项。

使用grep命令去查找2个不同的词复制代码代码如下:[root@devops ~]# egrep -w “user1|USER1″ /etc/passwduser1:x:501:501::/home/user1:/bin/bashUSER1:x:502:502::/home/USER1:/bin/bash[root@devops ~]#统计grep查找出来的行数

grep命令可以使用-c选项来显示出匹配到的行数复制代码代码如下:[root@devops ~]# grep -c ‘user1′ /etc/passwd2使用-n 选项可以显示出查找到的行在文件中的行号复制代码代码如下:[root@devops ~]# grep -n ‘user1′ /etc/passwd23:user1:x:501:501::/home/user1:/bin/bash25:user1add:x:503:503::/home/user1add:/bin/bashgrep反向查找只显示不匹配的行

你可以使用-v 选项来显示不匹配的行,例如:复制代码代码如下:[root@devops ~]# grep -v user1 /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/synclinux 管道符和grep命令的搭配使用

grep命令经常会和linux或unix管道符搭配使用,如显示硬盘设备的名字:复制代码代码如下:[root@devops ~]# dmesg | egrep ‘(s|h)d[a-z]’NMI watchdog disabled (cpu0): hardware events not enabledsd 2:0:0:0: [sda] 41943040 512-byte logical blocks: (21.4 GB/20.0 GiB)sd 2:0:0:0: [sda] Write Protect is offsd 2:0:0:0: [sda] Mode Sense: 61 00 00 00sd 2:0:0:0: [sda] Cache data unavailablesd 2:0:0:0: [sda] Assuming drive cache: write throughsd 2:0:0:0: [sda] Cache data unavailablesd 2:0:0:0: [sda] Assuming drive cache: write throughsda: sda1 sda2sd 2:0:0:0: [sda] Cache data unavailablesd 2:0:0:0: [sda] Assuming drive cache: write throughsd 2:0:0:0: [sda] Attached SCSI diskdracut: Scanning devices sda2 for LVM logical volumes vg_devops/lv_root vg_devops/lv_swapEXT4-fs (sda1): mounted filesystem with ordered data mode. Opts:SELinux: initialized (dev sda1, type ext4), uses xattr显示cpu模块名字:复制代码代码如下:[root@devops ~]# cat /proc/cpuinfo | grep -i ‘Model’model : 42model name : Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz[root@devops ~]#如何只输出包含模式的文件名,而不是输出文本行复制代码代码如下:[root@devops ~]# grep -l ‘user1′ /etc/*/etc/group/etc/group-/etc/gshadow/etc/gshadow-/etc/passwd/etc/passwd-/etc/shadow/etc/shadow-

来源:爱蒂网

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章