grep命令

grep命令

grep [ 选项 ] 查找条件 目标文件

常用选项 说明
-color 对匹配到的文本着色显示
-m # 匹配#次后停止 匹配到 #行停止
-v 取反,显示不被匹配到的行
-i 忽略字符大小写
-n 显示匹配的行号
-c 统计匹配的行数
-o 仅显示匹配到的字符串
-q 静默模式,不输出任何信息(写脚本时常用,使用命令echo $? 反馈结果)
-A # 后#行 (after)
-B # 前#行(before)
-C # 前后各#行(context)
-e 实现多个选项间的逻辑or关
-w 匹配整个单词
-E 使用ERE,相当于egrep
-f 匹配两个文件相同内容,把第一个文件作为匹配条件
-r 递归目录,但不处理软链接
-R 递归目录,但处理软链接
[root@localhost ~]#grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
#匹配到1行后停止
[root@localhost ~]#grep -m 1 root /etc/passwd
root:x:0:0:root:/root:/bin/bash
#统计匹配的行数
[root@localhost ~]#grep -c bash /etc/passwd
2
#只显示匹配到的字符串
[root@localhost ~]#grep -o root /etc/passwd
root
root
root
root
#匹配文件中的root字符串
[root@localhost ~]#grep  root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
#静默模式,不输出任何信息
[root@localhost ~]#grep -q root /etc/passwd
#查看上一条命令的反馈结果,输出0表示正确,非0表示不正确
[root@localhost ~]#echo $?
0
#匹配包含root字符串或者包含bash字符串的行(实现多个选项间的逻辑or关系)
[root@localhost ~]#grep -e root -e bash /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
liuyanfen:x:1000:1000:liuyanfen:/home/liuyanfen:/bin/bash
[root@localhost ~]#cat a
123
123
1456
[root@localhost ~]#cat b
123
478
498
#匹配两个文件中相同的部分,(以第一个文件作为匹配条件)
[root@localhost ~]#grep -f a b
123
478
498
#匹配root字符串的后3行
[root@localhost ~]#grep -A3 -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
2-bin:x:1:1:bin:/bin:/sbin/nologin
3-daemon:x:2:2:daemon:/sbin:/sbin/nologin
4-adm:x:3:4:adm:/var/adm:/sbin/nologin
--
10:operator:x:11:0:operator:/root:/sbin/nologin
11-games:x:12:100:games:/usr/games:/sbin/nologin
12-ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13-nobody:x:99:99:Nobody:/:/sbin/nologin
#匹配root字符串的前3行
[root@localhost ~]#grep -B3 -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
--
7-shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8-halt:x:7:0:halt:/sbin:/sbin/halt
9-mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
#匹配root字符串的前后各3行
[root@localhost ~]#grep -C3 -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
2-bin:x:1:1:bin:/bin:/sbin/nologin
3-daemon:x:2:2:daemon:/sbin:/sbin/nologin
4-adm:x:3:4:adm:/var/adm:/sbin/nologin
--
7-shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8-halt:x:7:0:halt:/sbin:/sbin/halt
9-mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11-games:x:12:100:games:/usr/games:/sbin/nologin
12-ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13-nobody:x:99:99:Nobody:/:/sbin/nologin

image-20240129181607213

image-20240129182556925

image-20240129183728220
image-20240129181429826

相关推荐

  1. Linux 命令grep

    2024-01-30 06:50:01       57 阅读
  2. 【linux】grep 命令

    2024-01-30 06:50:01       44 阅读
  3. 【Linux】grep命令详解

    2024-01-30 06:50:01       31 阅读
  4. grep命令知多少

    2024-01-30 06:50:01       25 阅读
  5. Linux 之 grep命令详解

    2024-01-30 06:50:01       26 阅读
  6. 【Linux命令】字符串搜索grep,less介绍

    2024-01-30 06:50:01       55 阅读
  7. Linux命令更新-文本处理grep

    2024-01-30 06:50:01       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-30 06:50:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-30 06:50:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-30 06:50:01       87 阅读
  4. Python语言-面向对象

    2024-01-30 06:50:01       96 阅读

热门阅读

  1. 大语言模型的未来进化路径及其影响

    2024-01-30 06:50:01       53 阅读
  2. docker 修改镜像存储路径

    2024-01-30 06:50:01       48 阅读
  3. Spring之xml配置方式快速整合MongoDB

    2024-01-30 06:50:01       47 阅读
  4. MySQL如何避免全表扫描?

    2024-01-30 06:50:01       57 阅读
  5. Manjaro Linux 安装 VirtualBox及VirtualBox命令行

    2024-01-30 06:50:01       50 阅读
  6. [macOS]gcc安装

    2024-01-30 06:50:01       58 阅读
  7. Linux:简单聊聊线程调度

    2024-01-30 06:50:01       53 阅读
  8. Flask安装(mac/linux & windows)

    2024-01-30 06:50:01       66 阅读
  9. Mac 上 Ln 指令使用说明

    2024-01-30 06:50:01       51 阅读