目录

Linux中文本搜索命令grep用法详解

Linux中文本搜索命令grep用法详解

1. grep命令的使用

命令说明
grep文本搜索

grep命令效果图:

https://i-blog.csdnimg.cn/blog_migrate/476fa159a80555780da7c75c7e53db83.png

【使用单引号和双引号效果是一样的】

2. grep命令选项的使用

命令选项说明
-i忽略大小写
-n显示匹配行号
-v显示不包含匹配文本的所有行 【除此之外】

-i命令选项效果图:

https://i-blog.csdnimg.cn/blog_migrate/c978f2d8529aad5a3e2534d81fe3893a.png

-n命令选项效果图:

https://i-blog.csdnimg.cn/blog_migrate/5360b17b0f3f8e727285eec2d52372b5.png

-v命令选项效果图:

https://i-blog.csdnimg.cn/blog_migrate/e11f2fad2532aa83906fcba3408b6e6d.png

3. grep命令结合正则表达式的使用

正则表达式说明
^以指定字符串开头
$以指定字符串结尾
.匹配一个非换行符的字符 【可以代替任何一个字符】

正则表达式‘^’的效果图:

https://i-blog.csdnimg.cn/blog_migrate/2bcb8478084bc3d281d3e97a6c7d4086.png

正则表达式‘$’的效果图:

https://i-blog.csdnimg.cn/blog_migrate/fd8b9f2c8f95342eca0c3854a0ccc2ad.png

正则表达式‘.’的效果图:

https://i-blog.csdnimg.cn/blog_migrate/fd587ca6c44d52505bd2d306f6abb5c5.png

4. 扩展

  • grep 命令还可以文本搜索管道中的内容,比如: ls / | grep ‘lib’ 【ls /bin | grep ‘sh】
  • 在使用 grep 命令的时候还可以省略搜索内容的引号,比如: ls / | grep libgrep hello 1.txt

5.案例分析

以mongodb配置文件演示为例

查看mongod.conf 文件: cat /etc/mongod.conf

https://i-blog.csdnimg.cn/blog_migrate/f7a03dfe93e5848b886c9bd7dc9943b0.png

查看有“#”的每行: grep ‘#’ /etc/mongod.conf

https://i-blog.csdnimg.cn/blog_migrate/b79ba27a2d54beaf96e678e6c1957e2a.png

查看有“#”的每行并添加行号: grep ‘#’ /etc/mongod.conf -n

https://i-blog.csdnimg.cn/blog_migrate/44f5fad4902abf6fda13ff40f26abe80.png

查看没有“#”的每行: grep ‘#’ /etc/mongod.conf -v

https://i-blog.csdnimg.cn/blog_migrate/acb8f56c371810f759be7ed89dada7e0.png

查看没有“#”的每行并显示行号: grep ‘#’ /etc/mongod.conf -vn

https://i-blog.csdnimg.cn/blog_migrate/89f3f8e87537f97bd5099817ad18fbdf.png

6. 小结

  • grep 命令是完成文本搜索操作的
  • 文本搜索的命令格式: grep 选项 文本搜索内容