Linux:grep和管道符


grep

grep作用是在文件中提取和匹配符合条件的字符串行。

grep [选项] "搜索内容" 文件名
选项:
	-i 忽略大小写
	-n 输出行号
	-v 反向查找
	--color=auto 搜索出的关键字用颜色显示

image-20200920131442858

和find区别

  • find:用于搜索符合条件的文件名,如果需要模糊查询,可以使用通配符,-regex选项也支持正则(equals)
  • grep:用于在文件中搜索符合条件的字符串,如果需要模糊查询,可以使用正则(contains)

通配符

用于匹配文件名,完全匹配

  • ? 匹配一个任意字符
  • * 匹配0个或者任意多个字符
  • [] 匹配括号中的任意一个字符,如[ab],或者是a,或者是b
  • [-] 匹配括号中任意一个字符,-代表一个范围,[a-z]代表匹配一个小写字母
  • [^] 逻辑非,表示匹配不是括号内的一个字符,[^0-9]代表匹配一个不是数字的字符

image-20200920132411861

正则表达式

用于匹配字符串

  • ? 匹配前一个字符重复0次,或一次
  • * 匹配前一个字符重复0次,或任意多次(只写一个字符加星号,是没有意义的)
  • [] 匹配括号中的任意一个字符,如[ab],或者是a,或者是b
  • [-] 匹配括号中任意一个字符,-代表一个范围,[a-z]代表匹配一个小写字母
  • [^] 逻辑非,表示匹配不是括号内的一个字符,[^0-9]代表匹配一个不是数字的字符
  • ^ 匹配行首
  • $ 匹配行尾

管道符

命令格式:

命令1 | 命令2

表示 命令1的正确输出作为命令2的操作对象。有点像find命令中的-exec选项

管道符是文本流,命名1的运行结果保存在临时文件中。(简单理解)

举例:分屏显示/etc下面的文件

ll /etc | more

显示/etc/下面所有包含yum的文件

ll /etc | grep yum

显示具体网络连接数量

netstat -an | grep -i established |  wc -l


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM