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

Linux下shell基本命令之grep用法及示例

grep 是 Unix 和 Linux 系统中广泛使用的文本搜索工具,它允许用户搜索包含指定模式的文本行。以下是 grep 命令的基本用法及示例:

一、基本用法

grep [选项] 模式 [文件...]

二、常用选项

  • -i:忽略大小写。
  • -v:反向选择,显示不包含模式的行。
  • -n:显示匹配行的行号。
  • -l:显示包含匹配模式的文件名。
  • -L:显示不包含匹配模式的文件名。
  • -c:只输出匹配到的行数。
  • -w:只匹配整个单词。
  • -x:只匹配整行。
  • -r 或 -R:递归搜索目录中的文件。
  • -A NUM:匹配行及后面 NUM 行一起显示。
  • -B NUM:匹配行及前面 NUM 行一起显示。
  • -C NUM:匹配行及前后各 NUM 行一起显示。

三、正则表达式

grep 支持正则表达式,这使得它可以进行复杂的文本搜索。例如:

  • .:匹配任意单个字符。
  • *:匹配前一个字符零次或多次。
  • ^:匹配行的开始。
  • $:匹配行的结束。
  • []:匹配括号内的任意一个字符。
  • |:表示或的关系,如 a|b 匹配 a 或 b
  • ():分组,用于后向引用。

四、示例

搜索文本

假设有一个文件 example.txt,内容如下:

Hello World hello unix GREP is powerful

要在文件中搜索包含 "hello" 的行(忽略大小写),可以使用以下命令:

grep -i "hello" example.txt

输出:

Hello World hello unix

使用正则表达式

要在文件中搜索以 "G" 开头并以 "p" 结尾的单词,可以使用以下命令:

grep -w "\bG\w*p\b" example.txt

输出:

GREP is powerful

显示行号

要在文件中搜索包含 "World" 的行并显示行号,可以使用以下命令:

grep -n "World" example.txt

输出:

1:Hello World

反向选择

要在文件中搜索不包含 "unix" 的行,可以使用以下命令:

grep -v "unix" example.txt

输出:

Hello World GREP is powerful

递归搜索

要在目录 mydir 及其子目录中的所有文件中搜索包含 "error" 的行,可以使用以下命令:

grep -r "error" mydir/


http://www.kler.cn/a/457694.html

相关文章:

  • 4.系统学习-集成学习
  • 容声606WILL养鲜冰箱发布,定义品质健康生活新标准
  • TCP 连接:三次握手与四次挥手
  • gazebo_world 基本围墙。
  • gitlab runner 实现 微信小程序自动化部署
  • Flutter 插件开发入门
  • frameworks 之 WMS添加窗口流程
  • 嵌入式开发 的循环实现
  • 牛客周赛 Round 66 E题 小苯的蓄水池(hard)
  • 【电路复习--选择题】
  • 【汇编】关于函数调用过程的若干问题
  • 选择排序cYuyan
  • 破解无人机能源瓶颈:优化调度与智能布局的实践
  • mongdb的简介和使用
  • 面向机器学习的Java库与平台
  • cellphoneDB进行CCI以及可视化
  • TCP网络编程(二)—— 服务器端的编写
  • Upload-labs 靶场(学习)
  • 【Linux】Socket编程-UDP构建自己的C++服务器
  • 3.微服务灰度发布落地实践(组件灰度增强)