可做文件内的字符串查找命令怎么在Linux操作系统操作系统中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
grep命令参数
grep lsquo单词。文件名
grep lsquo单词。文件一文件2文件3 hellip文件普通
grep lsquo字符串一字符串2rsquo文件名
猫文件名| grep "字符串"
命令| grep "字符串"
grep ndash颜色"字符串"文件名
如何使用grep命令去搜索某个文件中的内容呢?
查找/etc/passwd文件中是否存在用户一这个用户,可以使用下面的命令:
代码如下:
[root @ devops ~]# grep user 1/etc/passwd
用户1: x :50133605013360:/home/user 13:/bin/bash
[root@devops ~]#
如果想忽略大小写去查找比如:用户1,用户一或者其它的组合,可以使用[构成来自拉丁语、结尾为-我们的名词的复数]选项
代码如下:
[root @ devops ~]# grep-I用户1/etc/passwd
用户1: x :50133605013360:/home/user 13:/bin/bash
用户1: x :50233605023360:/home/user 13:/bin/bash
[root@devops ~]#
grep 命令递归查找
你可以递归去查找某个目录下各级子目录里的匹配查找模式的行,使用-r选项
代码如下:
[root @ devops ~]# grep-r user 1/etc |更多
/etc/group-:用户1: x :501:
/etc/shadow:user1:16176:0:99999:7:
/etc/group :用户1: x :501:
/etc/passwd-:用户1: x :501336050133603360/home/user 1:/bin/bash
/etc/gshadow-:user1:
/etc/shadow-:user1:16176:0:99999:7:
/etc/passwd : user 1: x :50133605013360:/home/user 1:/bin/bash
/etc/GSH down :用户1:
/etc/postfix/virtual : # user 1 @ virtual-alias。域地址1
[root@devops ~]#
使用grep去匹配某一个单词
选项-w使可做文件内的字符串查找命令只查找作为一个词,而不是词的一部分去做匹配
举例说明:
代码如下:
[root @ devops ~]# grep user 1/etc/passwd
用户1: x :50133605013360:/home/user 13:/bin/bash
用户1 add : x :503360503360:/home/用户1 add :/bin/bash
[root @ devo PS ~]# grep-w lsquo;user1prime/etc/passwd
用户1: x :50133605013360:/home/user 13:/bin/bash
在本例中能够匹配"用户1初级的模式有两行,那么当你只想匹配一个完整的用户一这个单词的时候,可以使用-w选项。
使用grep命令去查找2个不同的词
代码如下:
[root @ devo PS ~]# egup-w " user 1 | user 1 prime;/etc/passwd
用户1: x :50133605013360:/home/user 13:/bin/bash
用户1: x :50233605023360:/home/user 13:/bin/bash
[root@devops ~]#
统计可做文件内的字符串查找查找出来的行数
grep命令可以使用-c选项来显示出匹配到的行数
代码如下:
[root @ devo PS ~]# grep-c lsquo;user1prime/etc/passwd
2
使用-n 选项可以显示出查找到的行在文件中的行号
代码如下:
[root @ devo PS ~]# grep-n lsquo;user1prime/etc/passwd
23:用户1: x :50133605013360:/home/user 1:/bin/bash
25:用户1 add : x :503360503360:/home/用户1 add :/bin/bash
grep反向查找只显示不匹配的行
你可以使用-v选项来显示不匹配的行,例如:
代码如下:
[root @ devops ~]# grep-v user 1/etc/passwd
root : x :0336003360 root :/root :/bin/bash
bin : x :1:1: bin :/bin :/sbin/nologin
daemon : x :2:2: daem :/sbin :/sbin/nologin
ADM : x :336043360 ADM :/var/ADM :/sbin/nologin
LP : x :4336073360 LP :/var/spool/LPD :/sbin/nologin
sync : x :5336003360 sync :/sbin :/bin/sync
linux 管道符和grep命令的搭配使用
可做文件内的字符串查找命令经常会和Linux操作系统操作系统或操作系统管道符搭配使用,如显示硬盘设备的名字:
代码如下:
[root @ devo PS ~]# dmsg | egep lsquo;(s | h)d[a-z];
nomiddleinitial无中名的姓名首字母缩写看门狗禁用(cpu0):硬件事件未启用
SD 2:03360033600336003360[sda]41943040 512字节逻辑块3360 (21.4 GB/20.0 GiB)
SD 2:033600336003360003360【sda】写保护关闭
SD 2:033600336003360003360【sda】模式传感器: 61 00 00 00
SD 2:033600336003360003360【sda】缓存数据不可用
SD 2:033600336003360003360【sda】假设驱动器缓存:直写
SD 2:033600336003360003360【sda】缓存数据不可用
SD 2:033600336003360003360【sda】假设驱动器缓存:直写
sda: sda1 sda2
SD 2:033600336003360003360【sda】缓存数据不可用
SD 2:033600336003360003360【sda】假设驱动器缓存:直写
SD 2:033600336003360003360【sda】连接的小型计算机系统接口磁盘
dracut:扫描逻辑卷管理程序逻辑卷的设备sda 2 VG _ devops/LV _ root VG _ devops/LV _ swap
EXT4-fs (sda1):以有序数据模式装载的文件系统Opts:
SELinux:已初始化(dev sda1,ext4类型),使用扩展属性
显示cpu模块名字:
[root @ devops ~]# cat/proc/cpuinfo | grep-ilsquo;型号。
型号:42
型号名称:英特尔酷睿i3-2350 CPU @ 2.30 GHz
[root @ devops ~]#如何只输出包含模式的文件名,而不是输出文本行
[root @ devo PS ~]# grep-lls quo;user1prime/etc/*
/etc/group
/etc/group-
/etc/gshadow
/etc/gshadow-
/etc/passwd
/etc/passwd-
/etc/暗影
/etc/shadow-看完上述内容,你们掌握可做文件内的字符串查找命令怎么在Linux操作系统操作系统中使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注本站,感谢各位的阅读!