泉缘泉 发表于 2024-6-15 03:58:06

Linux——— grep命令详解(狠狠爱住)

目录

grep 命令
命令根本语法:
常用的命令选项:
示例使用:
忽略大小写进行匹配:
反向匹配,输出不包含匹配模式的行:
递归搜索目录及其子目录中的文件:
仅显示包含匹配模式的文件名,而不是匹配的行:
显示匹配的行及其行号:
只匹配整个单词,而不是字符串的一部分:
显示匹配行以及后续 行的内容:
显示匹配行以及前面 行的内容:
显示匹配行以及前后各 行的内容:

放在文末的话:

grep 命令

一个强盛的文本搜索工具,它用于在文件中查找匹配指定模式的行。

命令根本语法:

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

常用的命令选项:

   

[*]-i:忽略大小写进行匹配。
[*]-v:反向匹配,输出不包含匹配模式的行。
[*]-r:递归搜索目录和子目录中的文件。
[*]-l:仅显示包含匹配模式的文件名,而不是匹配的行。
[*]-n:显示匹配的行及其行号。
[*]-w:只匹配整个单词,而不是字符串的一部分。
[*]-A <num>:显示匹配行以及后续 <num> 行的内容。
[*]-B <num>:显示匹配行以及前面 <num> 行的内容。
[*]-C <num>:显示匹配行以及前后各 <num> 行的内容。




示例使用:

如今我们先准备一个名为 example.txt 的文本文件,内容如下:
Hello, World!
This is an example file.
It contains some text for demonstration.

https://img-blog.csdnimg.cn/direct/764df7413d634e9ba061f80d8b2fc76b.png




忽略大小写进行匹配:

grep -i "hello" example.txt 输出:
https://img-blog.csdnimg.cn/direct/28c2f020baae4713b31ef6f8d8928c1e.png






反向匹配,输出不包含匹配模式的行:

grep -v "example" example.txt 输出:https://img-blog.csdnimg.cn/direct/902072c52175477cab315cda9b89a953.png

递归搜索目录及其子目录中的文件:

grep -r "example" /root/ 输出:
https://img-blog.csdnimg.cn/direct/64632239e4be49869e1f9f548d8544bc.png


仅显示包含匹配模式的文件名,而不是匹配的行:

grep -l "example" root/* 输出:
https://img-blog.csdnimg.cn/direct/332c099c120d4b698b5816130dfb3b25.png




显示匹配的行及其行号:

grep -n "example" example.txt 输出:
https://img-blog.csdnimg.cn/direct/9752873ae8c842a8bf6c480251024e07.png



只匹配整个单词,而不是字符串的一部分:

grep -w "lo" example.txt
输出为空,因为没有完全匹配的单词 "lo"。https://img-blog.csdnimg.cn/direct/3b357124307d43459578dd31c332818b.png






显示匹配行以及后续 <num> 行的内容:

grep -A 2 "example" example.txt 输出:
https://img-blog.csdnimg.cn/direct/85195e3f4a9b442888db66acbc392815.png






显示匹配行以及前面 <num> 行的内容:

grep -B 1 "example" example.txt 输出:
https://img-blog.csdnimg.cn/direct/5d751ff39ce14a968d49a4e15d5d667b.png




显示匹配行以及前后各 <num> 行的内容:

grep -C 1 "example" example.txt 输出:
https://img-blog.csdnimg.cn/direct/21f484d2e70641fe95986d1b862ab7f3.png


放在文末的话:

grep 是一个在 Unix/Linux 体系中常用的命令行工具,用于在文本文件中搜索指定的模式(字符串)并输出匹配的行。

[*] 文本搜索:grep 可以快速搜索文本文件中的内容,根据指定的模式进行匹配,并输出包含匹配的行。
[*] 强盛的匹配模式:grep 支持使用正则表达式作为搜索模式,这使得搜索更加灵活和强盛。您可以使用不同的正则表达式模式来进行复杂的匹配操纵。
[*] 递归搜索:grep 可以通过 -r 或 --recursive 选项在目录及其子目录中递归搜索,方便地查找匹配的内容。
[*] 多文件搜索:grep 可以同时搜索多个文件,您可以指定多个文件名作为参数,或使用通配符来匹配多个文件。
[*] 输出控制:grep 提供了多种选项来控制输出的形式,例如只显示匹配行数、显示匹配行的上下文等。
[*] 搜索效果定向:grep 可以将搜索效果输出到标准输出或重定向到其他文件,方便进一步处置惩罚或生存效果。
总之,grep 是一个非常有用的命令行工具,可以资助您快速搜索和过滤文本文件中的内容,无论是在单个文件照旧多个文件中进行搜索。它在文本处置惩罚、日志分析、编程和体系管理等场景中都有广泛的应用。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Linux——— grep命令详解(狠狠爱住)