linux 三大剑客 之grep

grep

1、简介

     grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。通常grep有三种版本grep、egrep(等同于grep -E)和fgrep。egrep为扩展的grep,fgrep则为快速grep(固定的字符串来对文本进行搜索,不支持正则表达式的引用但是查询极为快速)。grep是Linux文本处理三剑客之一。

2、grep的使用方式

                           grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

常用选项:  

1、支持的正则

                                                   支持的正则

            描述   

-E,--extended-regexp模式是扩展正则表达式(ERE)
-F,--fixed-strings模式是换行分隔固定字符串
-G,--basic-regexp    模式是基本正则表达式(BRE)
-P,--perl-regexp模式是Perl正则表达式
-e,--regexp=PATTERN使用模式匹配,可指定多个模式匹配
-f,--file=FILE    从文件每一行获取模式
-i,--ignore-case忽略大小写
-w,--word-regexp模式匹配整个单词
-x,--line-regexp模式匹配整行
-v,--invert-match 打印不匹配的行

2、输出控制  

输出控制  描述   
-m,--max-count=NUM输出匹配的结果 num 数
-n,--line-number 打印行号
-H,--with-filename 打印每个匹配的文件名
-h,--no-filename 不输出文件名
-o,--only-matching 只打印匹配的内容
-q,--quiet 不输出正常信息
-s, --no-messages 不输出错误信息
-r,--recursive递归目录
-c,--count 只打印每个文件匹配的行数

3、内容行控制 

             内容行控制                          描述
-B,--before-context=NUM 打印匹配的前几行
-A,--after-context=NUM 打印匹配的后几行
-C,--context=NUM打印匹配的前后几行
--color[=WHEN] 匹配的字体颜色

示例:

1、输出a文件和b文件相同的行

grep -f a.txt b.txt

2、输出 b 文件中在 a 文件不同的行

grep -v -f a.txt b.txt

3、只显示匹配的字符串

echo "this is a test" |grep -o 'is'

4、输出匹配的前五个结果

seq 1 20 |grep -m 5 -E '[0-9]{2}'

5、统计匹配多少行

seq 1 20 |grep -c -E '[0-9]{2}'

6、匹配 b 字符开头的行      

echo "a bc de dab be"  |xargs -n1 | grep '^b'

xargs -n1  :表示每次传递一个参数

7、 匹配 de 字符结尾的行并输出匹配的行

echo "a bc de dab be"  |xargs -n1 | grep -n 'de$'

8、递归搜素$PWD下包含sql的.sh后缀的文件

grep -r 'sql' $PWD --include *.sh

grep sql fqz*

9、匹配至少 2 个字符

echo 'abc dce a gg dafdf gadgadgae' |xargs -n1 | grep -E '{2}'

10、匹配至少 2 个字符的单词,最多 3 个字符的单词

 echo 'abc dc e' |xargs -n1 | grep -E -w '[a-z]{2,3}'

11、匹配所有ip

ifconfig |grep -E -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"

12、打印匹配结果及后 3 行

seq 1 10 |grep 5 -A 3

13、打印匹配结果及前 3 行

seq 1 10 |grep 5 -B 3

14、打印匹配结果及前后 3 行

seq 1 10 |grep 5 -C 3

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux,可以使用grep命令不区分大小写的搜索。使用"-i"选项可以忽略大小写进搜索。例如,使用命令"grep -i"后跟要搜索的字符串,可以在文本不区分大小写地查找该字符串。 此外,如果需要以递归的方式在多个文件或目录不区分大小写的搜索,可以使用"-r"选项。例如,使用命令"grep -r -i"后跟要搜索的字符串和要搜索的目录路径,可以在指定目录及其子目录递归地进不区分大小写的搜索。 这样,就可以方便地通过linux不区分大小写grep命令字符串搜索了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [linux grep不区分大小写查找字符串方法](https://blog.csdn.net/zhujibcom/article/details/104770261)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [grep 不区分大小写_使用不区分大小写的Grep](https://blog.csdn.net/cunjiu9486/article/details/109076591)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值