您当前的位置: 首页 > 

我什么都布吉岛

暂无认证

  • 1浏览

    0关注

    292博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

grep打印符合某个特征的行

我什么都布吉岛 发布时间:2021-02-09 18:59:58 ,浏览量:1

一、简介

通用正则表达式解析器(grep,General Regular Expression Parser),打印符合某个特征的行。类似的命令还有egrep, fgrep, rgrep,这里只简单介绍一下常用的grep,语法:

grep [option] PATTERN [FILES]

一共有三个参数,分别是选项、模式和文件。option可以出现在命令后的任意位置,毕竟有-标识。

选项 选项含义-c输出匹配行数目,而不是输出匹配的行-E启动扩展表达式-h取消每个输出行前缀,即匹配查询模式的文件名-i忽略大小写-l只列出匹配行的文件名,而不输出真正的匹配行-v对匹配模式取反,即搜索不匹配的行 模式

grep默认支持通配符。正则表达式就是一些字符是有特殊含义的,和其他语言一样,如果你要去除特殊含义请使用\。一般情况下,脚本文件(shell)中的参数以空白字符分隔(空格 制表和换行),如果你想要在参数中加上一个或者多个空白字符,那么你需要给参数加上引号。

字符含义^指向一行的开头$指向一行的结尾.单个字符[ ][0-9]字母集合,[0-9a-z]表示字母与数字集合,在这里边的^表示的不是一行开头而是非,[^0-9]非数字字符

还有一些常用的字符集合被前人归纳成下表

集合含义[:alpha:]字母[:digit:]数字[:ascii:]ASCII字符[:alnum:]字母或数字[:blank:]空格、制表[::cntrl:]ASSII控制字符[:graph:]非控制、非空格[:lower:]小写字母[:upper:]小写字母[:print:]可打印[:punct:]标点符号[:xdigit:]十六进制数字

如果这还不能满足你的筛选需求,你可以使用-E选项,让grep启用扩展表达式:

选项含义?没有,如果有就只有一个*空或多个+至少一个{n}匹配切确的n个{n,}至少n个{n,m}[n,m]个 二、实际应用

grep命令常常与其他命令结合,该命令是管道的一个非常好的实践。

  • 找进程 ps -ef|grep java
  • 数进程 ps -ef|grep -c java
  • 找文件中的关键字 grep ‘linux’ test.txt test2.txt
关注
打赏
1658157489
查看更多评论
立即登录/注册

微信扫码登录

0.0407s