【亿码酷站-编程开发教程】收集全网优质教程及源码资源!

全网优质软件开发、平面设计等教程及精品源码资源一站可得,www.ymkuzhan.com!

linux系统,grep这个命令是必须要掌握的。grep命令是用来查找文件或标准输出中匹配的行,它的强大之处在于它支持正则表达式。日常工作中,grep绝对是用的最多的命令之一。

注:本文只介绍grep的用法,关于正则表达式不做介绍。

下面来看看它的一些常见选项以及含义:

选项

  • -i 搜索时候忽略大小写

  • -n 列出所有的匹配行,显示行号

  • -v 反向选择

  • -c 只输出匹配行的数量

  • -l 只列出符合匹配的文件名,不列出具体的匹配行

  • -h 查询多文件时不显示文件名

  • -r 递归搜索

  • -q 禁止输出任何结果,已退出状态表示搜索是否成功

  • –color=auto 将找到的关键字加上颜色显示

  • -E, –extended-regexp PATTERN 是一个可扩展的正则表达式(缩写为 ERE)

  • -B, –before-context=NUM 打印以文本起始的NUM 行

  • -A, –after-context=NUM 打印以文本结尾的NUM 行

下面来介绍grep的一些用法:

我们知道php.ini有一个时区的配置,具体的不太清楚,只知道timezone,现在我们想找到该配置信息,就可以使用grep来查找

# 加上-i选项,忽略大小写
# grep -i timezone /usr/local/php/etc/php.ini 
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC

grep支持在多个文件中查找

# 这里我们加上-n选项,输出文件的行号
# grep -in stdio itoa.c quicksort.c 
itoa.c:2:#include <stdio.h>
quicksort.c:1:#include <stdio.h>

反向选择的-v使用,当我运行了一个程序,想要看看这个程序是否还存在进程中,可以使用下面的方法

# ps aux | grep curl.php 
root     14374 98.3  1.2 277844 12396 pts/0    R+   07:54   1:07 php curl.php
root     14404  0.0  0.0 112664   984 pts/2    R+   07:55   0:00 grep --color=auto curl.php

这里就有个问题,我们需要使用-v来过滤掉grep本身的进程

# ps aux | grep curl.php | grep -v grep 
root     14374 98.5  1.2 277844 12396 pts/0    R+   07:54   2:36 php curl.php

我们想统计last命令中含root的行数,那么这里就需要用到-c选项了。

# last | grep -c root
353

经常有这种需求,需要批量替换文件中的某文本,那么怎么知道这些文本在哪几个文件中呢。grep可以做到,配合-l选项

# find . -type f -exec grep -l define {} \;
./find.c
./itoa2.c
./wc.c
./test.c
./wordcnt.c
./longestline.c
./cal.c
./sortline2.c
./sortline.c
./found.c
./atof.c

下面再看一个例子,该例子用到了-E扩展正则,我们想要过滤掉php.ini文件中的注释行以及空白行

grep -vE '^;|^$' /usr/local/php/etc/php.ini

还有一个常用的选项-r,它可以用来递归查找当前目录下所有文件,以及子目录文件。下面,我们想查看网站目录下还有footer的文件有哪些,可以用下面的命令来查找

grep -rn footer ./

全面详解linux下grep命令的用法
—–文章转载自PHP中文网如有侵权请联系admin#tyuanma.cn删除

pandas妙招之 在DataFrame中通过索引高效获取数据

下载声明:
  • 本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压;
  • 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。
  • 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版!
  • 版权声明:
  • 下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。
  • 免责声明:
  • 您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!