也想出现在这里? 联系我们

15个Linux Grep命令使用实例(实用、常用)

作者 : 小编 本文共4242个字,预计阅读时间需要11分钟 发布时间: 2022-11-6 共1.48K人阅读
也想出现在这里? 联系我们

Grep命令主要用于从文件中查找指定的字符串。首先建一个demo_file:

复制代码

代码如下:

$ cat demo_file THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE. this line is the 1st lower case line in this file. This Line Has All Its First Character Of The Word With Upper Case. Two lines above this line is empty. And this is the last line.

例01:从单个文件中查找指定的字符串

复制代码

代码如下:

$ grep \”this\” demo_file this line is the 1st lower case line in this file. Two lines above this line is empty.

例02:从多个文件中查找指定的字符串

复制代码

代码如下:

$ cp demo_file demo_file1 $ grep \”this\” demo_* demo_file:this line is the 1st lower case line in this file. demo_file:Two lines above this line is empty. demo_file:And this is the last line. demo_file1:this line is the 1st lower case line in this file. demo_file1:Two lines above this line is empty. demo_file1:And this is the last line.

例03:忽略大小写使用 grep -i

复制代码

代码如下:

$ grep -i \”the\” demo_file THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE. this line is the 1st lower case line in this file. This Line Has All Its First Character Of The Word With Upper Case. And this is the last line.

例04:在文件中匹配正则表达式

如果你能在实际使用正则表达式,能使效率大大提高。在下面的例子中,匹配了所有以lines开头,以empty结尾的行。

复制代码

代码如下:

$ grep \”lines.*empty\” demo_file Two lines above this line is empty.

从Grep文档的来看,一个正则表达式必须遵循下面的匹配操作。1.? The preceding item is optional and matched at most once.2.* The preceding item will be matched zero or more times.3.+ The preceding item will be matched one or more times.4.{n} The preceding item is matched exactly n times.5.{n,} The preceding item is matched n or more times.6.{,m} The preceding item is matched at most m times.7.{n,m} The preceding item is matched at least n times, but not more than m times.

例05:用grep -w来查找全匹配,不包括子字符串

比如说:用下面的例子搜索出来的例子包括"is","his"

复制代码

代码如下:

$ grep -i \”is\” demo_file THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE. this line is the 1st lower case line in this file. This Line Has All Its First Character Of The Word With Upper Case. Two lines above this line is empty. And this is the last line.

而用grep -iw搜索出来的结果如下: 注意,忽略大小。"IS","is"

复制代码

代码如下:

$ grep -iw \”is\” demo_file THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE. this line is the 1st lower case line in this file. Two lines above this line is empty. And this is the last line.

例06:用grep -A,-B,-C 来查看after/before/around 行当在一个大的文件中执行grep操作时,如果想要看其中一些行,并且想看之前,之后的或某些行附近的,那么这里命令就起作用了。grep -A,-B,-C.先建个demo.txt作为模板

复制代码

代码如下:

$ cat demo_text 4. Vim Word Navigation You may want to do several navigation in relation to the words, such as: * e – go to the end of the current word. * E – go to the end of the current WORD. * b – go to the previous (before) word. * B – go to the previous (before) WORD. * w – go to the next word. * W – go to the next WORD. WORD – WORD consists of a sequence of non-blank characters, separated with white space. word – word consists of a sequence of letters, digits and underscores. Example to show the difference between WORD and word * 192.168.1.1 – single WORD * 192.168.1.1 – seven words.

6.1 显示匹配后N行

复制代码

代码如下:

$ grep -A 3 -i \”example\” demo_text Example to show the difference between WORD and word * 192.168.1.1 – single WORD * 192.168.1.1 – seven words.

6.2 显示匹配前N行

复制代码

代码如下:

$ grep -B 2 \”single WORD\” demo_text Example to show the difference between WORD and word * 192.168.1.1 – single WORD

6.3 显示匹配前N行

复制代码

代码如下:

$ grep -C 2 \”Example\” demo_text word – word consists of a sequence of letters, digits and underscores. Example to show the difference between WORD and word * 192.168.1.1 – single WORD

例07:用GREP_OPTIONS来让查找的项醒目

如果你想使匹配的好看且醒目,可以使用下面的操作:

复制代码

代码如下:

$ export GREP_OPTIONS=\’–color=auto\’ GREP_COLOR=\’100;8\’ $ grep this demo_file this line is the 1st lower case line in this file. Two lines above this line is empty. And this is the last line.

例08:用grep -r来搜索所有的文件及子目录

复制代码

代码如下:

$ grep -r \”ramesh\” *

例09:用grep -v来显示不匹配的项

复制代码

代码如下:

$ grep -v \”go\” demo_text 4. Vim Word Navigation You may want to do several navigation in relation to the words, such as: WORD – WORD consists of a sequence of non-blank characters, separated with white space. word – word consists of a sequence of letters, digits and underscores. Example to show the difference between WORD and word * 192.168.1.1 – single WORD * 192.168.1.1 – seven words.

例10:显示所有不匹配的项

复制代码

代码如下:

$ cat test-file.txt a b c d $ grep -v -e \”a\” -e \”b\” -e \”c\” test-file.txt d

例11:用grep -c 来计算匹配的数量

11.1计算匹配的字符串数

复制代码

代码如下:

$ grep -c \”go\” demo_text 6

11.2计算匹配的模式数

复制代码

代码如下:

$ grep -c this demo_file 3

11.3计算不匹配的模式数

复制代码

代码如下:

$ grep -v -c this demo_file 4

例12:使用grep -l显示匹配的文件名

复制代码

代码如下:

$ grep -l this demo_* demo_file demo_file1

例13:只显示匹配的字符串

复制代码

代码如下:

$ grep -o \”is.*line\” demo_file is line is the 1st lower case line is line is is the last line

例14:

复制代码

代码如下:

$ cat temp-file.txt1234512345 $ grep -o -b \”3\” temp-file.txt 2:3 8:3

注意:上述的不是该字符所在行中的位置,而是字节的位置。例15:用grep -n 显示行数

复制代码

代码如下:

$ grep -n \”go\” demo_text 5: * e – go to the end of the current word. 6: * E – go to the end of the current WORD. 7: * b – go to the previous (before) word. 8: * B – go to the previous (before) WORD. 9: * w – go to the next word. 10: * W – go to the next WORD.

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » 15个Linux Grep命令使用实例(实用、常用)

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录