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

 更新时间:2024年12月30日 09:53:36   作者:jackiendsc  
grep是Unix/Linux系统中用于文本搜索的强大工具,它可以忽略大小写、显示行号、反向选择、递归搜索目录等,本文就来介绍一下,感兴趣的可以了解一下

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/

到此这篇关于Linux下shell基本命令之grep用法及示例小结的文章就介绍到这了,更多相关shell grep用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Linux基础命令日常积累

    Linux基础命令日常积累

    Linux命令虽然用处很多,用过这么多次但是对其步骤、命令还是不记得,每次还是要到处找资料,下面小编把本次linux生产环境搭建分享在脚本之家平台,供大家参考
    2015-10-10
  • Linux使用iptables实现屏蔽ip地址的示例详解

    Linux使用iptables实现屏蔽ip地址的示例详解

    netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的。本文就来利用iptables实现屏蔽ip地址,需要的可以参考一下
    2022-10-10
  • linux系统下hosts文件详解及配置

    linux系统下hosts文件详解及配置

    hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下。这篇文章主要介绍了linux系统下hosts文件详解及配置的相关资料,需要的朋友可以参考下
    2016-10-10
  • 详解 linux mysqldump 导出数据库、数据、表结构

    详解 linux mysqldump 导出数据库、数据、表结构

    这篇文章主要介绍了详解 linux mysqldump 导出数据库、数据、表结构的相关资料,需要的朋友可以参考下
    2017-05-05
  • Linux基础命令last 命令实例详解

    Linux基础命令last 命令实例详解

    Linux last命令用于显示系统开机以来获是从每月初登入者的讯息。本文主要给大家介绍Linux基础命令last 命令实例详解,感兴趣的朋友跟随小编一起看看吧
    2018-10-10
  • shell输出重定向的实现

    shell输出重定向的实现

    本文主要介绍了shell输出重定向的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Shell脚本中计算字符串长度的5种方法

    Shell脚本中计算字符串长度的5种方法

    这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下
    2014-06-06
  • Gearman::XS在Centos下的编译安装方法

    Gearman::XS在Centos下的编译安装方法

    这篇文章主要介绍了Gearman::XS在Centos下的编译安装方法,需要的朋友可以参考下
    2014-07-07
  • 如何编写健壮的Bash脚本(经验分享)

    如何编写健壮的Bash脚本(经验分享)

    本文介绍下,编写出健壮的bash shell脚本的方法,感兴趣的朋友参考学习下
    2013-11-11
  • Shell脚本中if条件判断的写法实例

    Shell脚本中if条件判断的写法实例

    在写shell脚本的过程中,用到了if else的写法,突然有多个参数需要判断,那么就想到了if else if的用法,这篇文章主要给大家介绍了关于Shell脚本中if条件判断写法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01

最新评论