Linux下grep命令使用实例
发布时间:2015-06-24 14:35:55 作者:佚名 我要评论
这篇文章主要介绍了Linux下grep命令使用实例,本文讲解了主要的grep命令参数、如何使用grep命令去搜索某个文件中的内容呢、grep 命令递归查找、使用grep去匹配某一个单词等内容,需要的朋友可以参考下
grep命令参数
grep ‘word’ 文件名
grep ‘word’ 文件1 文件2 文件3 …文件N
grep ‘字符串1 字符串2’ 文件名
cat 文件名| grep ”字符串“
命令 | grep “字符串”
grep –color “字符串” 文件名
如何使用grep命令去搜索某个文件中的内容呢?
查找 /etc/passwd 文件中是否存在user1这个用户,可以使用下面的命令:
复制代码
代码如下:[root@devops ~]# grep user1 /etc/passwd
user1:x:501:501::/home/user1:/bin/bash
[root@devops ~]#
如果想忽略大小写去查找比如:User1,USER1或者其它的组合,可以使用-i选项
复制代码
代码如下:[root@devops ~]# grep -i user1 /etc/passwd
user1:x:501:501::/home/user1:/bin/bash
USER1: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/passwd
user1:x:501:501::/home/user1:/bin/bash
user1add:x:503:503::/home/user1add:/bin/bash
[root@devops ~]# grep -w ‘user1′ /etc/passwd
user1:x:501:501::/home/user1:/bin/bash
在本例中能够匹配“user1″的模式有两行,那么当你只想匹配一个完整的user1这个单词的时候,可以使用-w选项。
使用grep命令去查找2个不同的词
复制代码
代码如下:[root@devops ~]# egrep -w “user1|USER1″ /etc/passwd
user1:x:501:501::/home/user1:/bin/bash
USER1:x:502:502::/home/USER1:/bin/bash
[root@devops ~]#
统计grep查找出来的行数
grep命令可以使用-c选项来显示出匹配到的行数
复制代码
代码如下:[root@devops ~]# grep -c ‘user1′ /etc/passwd
2
使用-n 选项可以显示出查找到的行在文件中的行号
复制代码
代码如下:[root@devops ~]# grep -n ‘user1′ /etc/passwd
23:user1:x:501:501::/home/user1:/bin/bash
25:user1add:x:503:503::/home/user1add:/bin/bash
grep反向查找只显示不匹配的行
你可以使用-v 选项来显示不匹配的行,例如:
复制代码
代码如下:[root@devops ~]# grep -v user1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
linux 管道符和grep命令的搭配使用
grep命令经常会和linux或unix管道符搭配使用,如显示硬盘设备的名字:
复制代码
代码如下:[root@devops ~]# dmesg | egrep ‘(s|h)d[a-z]’
NMI watchdog disabled (cpu0): hardware events not enabled
sd 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 off
sd 2:0:0:0: [sda] Mode Sense: 61 00 00 00
sd 2:0:0:0: [sda] Cache data unavailable
sd 2:0:0:0: [sda] Assuming drive cache: write through
sd 2:0:0:0: [sda] Cache data unavailable
sd 2:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 sda2
sd 2:0:0:0: [sda] Cache data unavailable
sd 2:0:0:0: [sda] Assuming drive cache: write through
sd 2:0:0:0: [sda] Attached SCSI disk
dracut: Scanning devices sda2 for LVM logical volumes vg_devops/lv_root vg_devops/lv_swap
EXT4-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 : 42
model 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-
相关文章
- 然 Ubuntu 提供了优秀的图形化软件管理工具,我们绝大多数时间并不需要使用命令行来管理 Snap 软件包,但命令行拥有更强的功能和灵活性,学会如何使用可以帮你更好地掌控系2024-10-18
Flatpak和Snapcraft怎么选? Linux软件包管理系统优缺点对比
Linux 软件的打包和分发方式在过去几年中也取得了长足地进展,本文将探讨 Flatpak 和 Snapcraft 之间的关键差异,它们各自的优/缺点,以期望帮助用户找到更适合自己的一款2024-10-18linux服务器重启命令哪个好用? Linux服务器重启命令汇总
在 Linux 系统中,最严谨的重启命令是 shutdown -r now,该命令直接将系统重启,而不进行任何清理或准备工作,确保系统彻底重启,但也有很多其他命令,详细如下文介绍2024-10-17教你如何在Linux中使用apt命令? Linux APT命令实战教程
apt是一个软件包管理工具,apt命令相当强大,要是在Ubuntu和Debian系统中使用,可以用来对软件进行安装等操作,需要超级管理员(root)权限进行操作2024-09-29apt 和 apt-get有什么区别? Linux包管理解密
为什么 Debian 系 Linux 发行版同时拥有apt和apt-get这两个雷同的命令?他们之间有什么区别?详细请看下文介绍2024-09-29- Linux圈曝出严重远程代码执行RCE漏洞,已存在10多年,几乎影响所有GNU/Linux发行版,目前尚未有修复补丁,不过可以缓解,解决方案如下2024-09-27
- 在Linux系统中,分区管理是非常重要的一项工作,在使用Linux系统的过程中,有时候我们需要删除某个分区来释放存储空间或重新规划硬盘空间,那么,如何在Linux系统上删除分2024-09-14
深度操作系统deepin 25开发计划公布: 2025 年 01 月发布
deepin 25 计划发布时间为 2025 年01 月,此版本的主要目标是修复 deepin 23 中的遗留问题,提升系统稳定性2024-09-14- FDISK是一个用于硬盘分区的工具,特别是在较早的操作系统版本中,如Windows 98和早期的Linux系统中,FDISK是进行硬盘分区的主要工具,这里就为大家分享一下linux系统中使用2024-08-29
黑神话悟空怎么下载安装? 深度操作系统deepin23黑神话悟空安装教程
deepin23系统想要体验《黑神话:悟空》游戏,该怎么下载安装呢?下面我们就来看看详细的图文教程2024-08-22
最新评论