Linux grep命令详细教程

这篇具有很好参考价值的文章主要介绍了Linux grep命令详细教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

[本文出自天外归云的博客园]

简介

Linux grep命令是一种非常常用的文本搜索工具,它可以在给定的文件中搜索匹配的字符串,并输出匹配的行。grep是全称“global search regular expression print”,可以识别正则表达式,并使用正则表达式进行搜索。

选项

以下是 grep 的所有选项:

grep [options] [pattern] [files]
  • -a, --text: 将二进制文件作为文本文件处理。
  • -c, --count: 显示匹配行数,而不是行本身。
  • -e pattern, --regexp=pattern: 查找指定的模式,支持多个模式。
  • -f file, --file=file: 从文件中读取模式,每个模式占一行。
  • -i, --ignore-case: 忽略大小写。
  • -l, --files-with-matches: 只打印文件名,而不是行本身。
  • -n, --line-number: 在每行的前面打印行号。
  • -r, --recursive: 遍历子目录中的文件。
  • -v, --invert-match: 输出不匹配的行。
  • -x, --line-regexp: 仅匹配整行。
  • -w, --word-regexp: 仅匹配整个单词。

pattern 通常是一个正则表达式,用于匹配指定的文本模式。

files 可以是若干个文件,也可以是目录。

以上是 grep 命令的所有选项,更多信息可以使用 man grep 在终端中查看。

常用grep选项举例

下面是常用的grep选项及其举例:

  1. 搜索指定字符串

可以使用grep搜索包含指定字符串的文件或文件夹,例如:

grep "hello" file.txt
grep "hello" folder/file.txt
  1. 搜索多个字符串

使用-E选项可以在同一行中搜索多个字符串。

grep -E "hello|world" file.txt
  1. 忽略大小写

使用-i选项可以忽略大小写的差异。

grep -i "hello" file.txt
  1. 输出行号

使用-n选项可以输出匹配字符串所在行的行号。

grep -n "hello" file.txt
  1. 反向搜索

使用-v选项可以输出不包含指定字符串的行。

grep -v "hello" file.txt
  1. 搜索某个范围内的行

使用 -A, -B, 或-C选项搜索特定范围内的行。

grep -A 2 "hello" file.txt  #输出包含“hello”的行以及后两行。
grep -B 2 "hello" file.txt  #输出包含“hello”的行以及前两行。
grep -C 2 "hello" file.txt  #输出包含“hello”的行以及前后两行。
  1. 搜索整个单词

使用-w选项可以搜索指定单词作为整个单词匹配。

grep -w "hello" file.txt
  1. 统计匹配次数

使用-c选项可以统计匹配字符串的个数。

grep -c "hello" file.txt
  1. 搜索指定文件类型

使用通配符可以搜索特定类型的文件或使用 --include选项来仅搜索指定文件类型。

grep "hello" *.txt
grep "hello" --include "*.txt" folder/
  1. 搜索子目录

使用-r或-R选项可以搜索子目录的文件。

grep -r "hello" folder/
grep -R "hello" folder/
  1. 不忽略二进制文件

使用-a选项可以强制grep搜索二进制文件。

grep -a "hello" binary_file.bin
  1. 搜索时忽略特定目录

使用 --exclude-dir选项来忽略特定目录的搜索。

grep -r "hello" folder/ --exclude-dir=log/
  1. 搜索特定行数

使用 -m 选项指定只搜索文件中的前几行。

grep -m 10 'hello' file.txt # 只搜索文件中的前10行
  1. 输出匹配字符串前后的内容

使用 -o 选项仅输出匹配字符串,而 -A 和 -B 选项可以输出字符串前后的内容。

grep -o 'hello' file.txt # 只输出匹配到的 'hello' 字符串,而不包含它前后的内容
grep -A 3 'hello' file.txt # 输出包含 'hello' 字符串的行以及后三行
grep -B 2 'hello' file.txt # 输出包含 'hello' 字符串的行以及前两行
  1. 显示不匹配行

使用 -L 选项输出不匹配指定字符串的行。

grep -L 'hello' file.txt # 输出不匹配 'hello' 字符串的行
  1. 显示匹配行前几行和后几行的内容

使用 -C 选项,可以同时输出匹配字符串前后几行的内容。

grep -C 2 'hello' file.txt # 输出包含 'hello' 字符串的行以及前后两行内容
  1. 搜索多个文件

可以一次性搜索多个文件。

grep 'hello' file1.txt file2.txt file3.txt # 搜索 file1.txt, file2.txt, file3.txt 文件中的 'hello' 字符串
  1. 搜索时忽略空白字符

使用 -w 选项,可以忽略匹配字符串前后的空格、制表符等空白字符。

grep -w 'hello' file.txt # 忽略匹配字符串前后的空格、制表符等空白字符
  1. 搜索时查看匹配字符串的上文或下文

使用 -B 和 -A 选项,可查看匹配字符串上下文的内容。

grep -B 2 'hello' file.txt # 输出包含 ‘hello’ 字符串的行以及匹配字符串前2行
grep -A 3 'hello' file.txt # 输出包含 ‘hello’ 字符串的行以及匹配字符串后3行

以上就是grep的所有功能举例。文章来源地址https://www.toymoban.com/news/detail-427122.html

到了这里,关于Linux grep命令详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux:文本搜索命令grep

    相关阅读 Linux https://blog.csdn.net/weixin_45791458/category_12234591.html         grep是类Unix系统中用于搜索并打印文件中符合某种模式(pattern)的行。grep命令的的基本语法如下所示:         grep搜索命名的输入文件,即最后的[FILE...](如果没有文件或者如果单个连字符-(-)作为文件名给

    2024年02月07日
    浏览(50)
  • Linux grep命令与$?命令结合使用技巧

    今天检查前同事留下的一个shell脚本时,其中一个脚本中有一个业务逻辑处理:要判断Oracle数据库实例是否启动,如果数据库实例处于OPEN状态的话,则执行/运行一些业务逻辑操作。脚本大体如下(脚本做了一下混淆和精简收缩) 其中chkdbup.sh脚本的内容如下: Review这个脚本时

    2024年02月15日
    浏览(49)
  • Linux Shell 搜索命令 grep

    grep 是一个强大的文本搜索工具,用于在文件或标准输入中查找匹配指定模式的行。 它的基本语法是: 其中, pattern 是要搜索的模式,可以是普通字符串或使用正则表达式表示的模式。 file 是要被搜索的文件,如果不指定文件,则默认从标准输入中读取数据。 grep 命令的常用

    2024年02月11日
    浏览(48)
  • linux中grep命令的常见用法

    作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,掌握好其用法是很有必要的。 首先谈一下grep命令的常用格式为: grep  [选项]  ”模式“  [文件] grep家族总共有三个:grep,egrep,fgrep。 命令用法如下:  查看grep命令的帮助信息: -E :开启扩展(Extend)的正则

    2024年02月13日
    浏览(44)
  • Linux中grep命令的用法详解

    引言: 在Linux系统中,grep(Global Regular Expression Print)是一个强大的命令行工具,它用于在文本文件中搜索指定的模式。grep命令不仅仅是一个简单的搜索工具,它还支持正则表达式,可以通过灵活的选项和参数组合来实现更复杂的搜索和匹配操作。本文将详细介绍grep命令的用

    2024年02月16日
    浏览(84)
  • Linux下查找文件(find、grep命令)

    目录 一、find命令 1.按文件名 2.按文件类型查询 3.按照文件大小查找 4.按照文件日期查找 4.1按照创建日期查找 4.2按照修改日期查找 4.3按照访问日期查找 5.按深度查找 5.1查找起始点以下n层的目录,不超过n层  5.2搜距离起始点n层以下的目录(即最少n层) 6.高级查找 6.1-exec  

    2024年01月16日
    浏览(140)
  • linux中grep命令详解及使用示例

    grep 命令(Global search REgular expression and Print out the line) 是linux中一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于过滤/搜索的特定字符,可以配合正则表达式组合多种搜索命令。 语法: grep [options] [pattern] 搜索文件 常用的options(选项)

    2024年02月06日
    浏览(43)
  • Linux tail & cat & grep 命令详解

    在屏幕上显示指定文件的末尾若干行 tail命令 用于输入文件中的尾部内容。 默认在屏幕上显示指定文件的末尾10行。 处理多个文件时会在各个文件之前附加含有文件名的行。 如果没有指定文件或者文件名为 - ,则读取标准输入。 如果表示字节或行数的 NUM 值之前有一个 + 号

    2024年02月06日
    浏览(41)
  • 【Linux】ps -ef|grep -v grep|awk ‘{print $2}‘ 命令详解

    第一步:grep -v grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 ps -ef|grep java 就是通过管道的方式,将 ps 命令查询出来的进程信息内容筛选出

    2024年02月14日
    浏览(45)
  • Linux三剑客——Linux grep命令详解:查找文件内容

    很多时候,我们并不需要列出文件的全部内容,而是从文件中找到包含指定信息的那些行,要实现这个目的,可以使用 grep 命令。 grep 命令 作为 Linux 文本处理三剑客的一员,另外两个是 sed 和 awk ,我们会在后面的文章中作详细介绍。 grep 命令 的由来可以追溯到 UNIX 诞生的

    2024年02月11日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包