当前位置: 首页 > news >正文

文本三剑客之grep

Grep是Linux用户用来搜索文本字符串的命令行工具。您可以使用它在文件中搜索某个单词或单词的组合,也可以将其他Linux命令的输出通过管道传输到grep,因此grep可以仅显示您需要查看的输出。

grep的命令格式如下:

grep  选项  查找条件  目标文件

选项:

-color=auto 对匹配到的文本着色显示

-m # 匹配#次后停止 grep -m 1 root /etc/passwd #多个匹配只取第一个

-v 显示不被pattern匹配到的行,即取反 grep -Ev '^[[:space:]]*#|^$' /etc/fstab

-i 忽略字符大小写

-n 显示匹配的行号

-c 统计匹配的行数 grep -c root /etc/passwd #统计匹配到的行数

-o 仅显示匹配到的字符串

-q 静默模式,不输出任何信息

-A # after, 后#行 grep -A3 root /etc/passwd #匹配到的行后3行业显示出来

-B # before, 前#行

-C # context, 前后各#行

-e 实现多个选项间的逻辑or关系,如:grep –e ‘cat ' -e ‘dog' file

grep -e root -e bash /etc/passwd #包含root或者包含bash 的行

grep -E root|bash /etc/passwd

-w 匹配整个单词 grep -w root /etc/passwd

useradd rooter

-E 使用ERE,相当于egrep

-F 不支持正则表达式,相当于fgrep

-f file 根据模式文件,处理两个文件相同内容 把第一个文件作为匹配条件

-r 递归目录,但不处理软链接

-R 递归目录,但处理软链接

示例

命令

作用

grep "hello" * -nsr

在当前目录下的所有文件、目录中查找“hello”

grep "hello" * -nsr -C 3

在当前目录下的所有文件、目录中查找“hello”,并打印上下3行

grep "hello\|hi" * -nsr

在当前目录下的所有文件、目录中查找“hello”或“hi”

grep '^root|bash$' * -nsr

查找以 root 为行首的或以 bash 为行尾的行

grep "hello" kernel -nsr

在当前目录的kernel子目录中查找“hello”

grep "hello" a.txt -n

在当前目录的a.txt文件中查找“hello”

grep "hello" --exclude-dir=dir1

在当前目录下查找除了dir1目录的hello

grep "hello" --exclude-dir={dir1,dir2}

在当前目录下查找除了dir1和dir2目录的hello

grep "hello" --include=*.{php,c} * -nswr

在当前目录及子目录的以.php和.c文件中搜索"hello"

grep -e ".hello" * -nsr 或 grep "\.hello" * -nsr

在当前目录下的所有文件、目录中查找“.hello”

grep -e "client->flags" * -nsr 或 grep "client\->flags" * -nsr

在当前目录下的所有文件、目录中查找“client->flags”

http://www.lryc.cn/news/4011.html

相关文章:

  • pwn手记录题1
  • 自动驾驶规划 - Apollo Lattice Planner算法【1】
  • 以太坊数据开发-Web3.py-安装连接以太坊数据
  • 【触摸屏功能测试】MQTT_STD本地调试说明-测试记录
  • 六十分之十三——黎明前
  • 【Call for papers】CRYPTO-2023(CCF-A/网络与信息安全/2023年2月16日截稿)
  • 线程的信号量和互斥量
  • 关于Linux,开源社区与国产化的本质区别
  • Win11下Linux子系统迁移方法及报错解决
  • python维护的一些基础方法
  • C语言 数组元素的指针
  • (C语言)指针进阶
  • DS期末复习卷(三)
  • Java链表模拟实现+LinkedList介绍
  • MySQL——单表、多表查询
  • 关于表的操作 数据库(3)
  • C++:红黑树
  • 每天一道算法题の中缀表达式
  • Dar语法基础-泛型
  • rt-thread------串口(一)配置
  • Android - 自动系统签名
  • SSH 服务详解 (八)-- vscode 通过 SSH 远程连接 linux 服务器
  • 【PTA Advanced】1060 Are They Equal(C++)
  • 仿真与测试:通过Signal Builder模块生成输入信号
  • 云计算培训靠谱吗?
  • 力扣SQL刷题10
  • 31 岁生日快乐,Linux!
  • 分布式ID生成方案
  • 合宙Air103|fbd数据库| fskv - 替代fdb库|LuatOS-SOC接口|官方demo|学习(16):类redis的fbd数据库及fskv库
  • 【论文精读】Deep Residual Learning for Image Recognition