当前位置 博文首页 > 文章内容

    Linux:grep和管道符

    作者: 栏目:未分类 时间:2020-09-20 14:01:57

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    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