Grep:搜索文件内匹配指定内容的行

常用的Grep搜索方法:

1. grep "普通搜索内容" file( 或者 cat file|grep "普通搜索内容")

  • grep 'java' file : 查询带java的行
  • grep -c 'java' file :计算带-c的行数
  • grep -n 'java' file: 查询结果中显示行数
  • grep -i 'java' file :忽略大小写搜索
  • grep -v 'java' file : 过滤掉涵盖java内容的行
  • grep -ivn 'java' file: 多种参数可以结合使用

2. grep -E "正则表达式" file

  • ^content : 以content开头的行
  • $content :   以content结尾的行
  • . : 匹配任意单字符
  • .+ : 匹配任意多个字符
  • .* :匹配0或多个字符
  • [0-9a-z]:匹配任意数字字母
  • (linux)+: 匹配多次出现linux单词的行
  • (linux){2}: 匹配linux单词出现了2次的行
  • (linux){2,4}: 匹配linux单词出现了3次的行
  • (linux){2,}:匹配linux单词出现了2次以上的行
  • (.*linux.*){2}: 匹配涵盖2个linux字符的单词的行
  • \ : 转义符

实际例子:

grep -E "09:[0-5][0-9]:[0-5][0-9]" file: 查询出09:00:00到09:59:59之间的日志

grep -Eni '(.+center.+){6}' TestSummaryReport.html: 解析Html里含盖6个center的行(通过识别布局元素找到指定的行来进一步解析html内容)

awk 用于横向分割获取内容

awk '{print $0}' file: 查找出文件中的每一列,$0代表每一列

awk '{print $1"\t"$7}' file: 查找出文件中的第一列和第七列,并且之间用制表符分割

awk -F: '{print $1,$3,$4}' file: 以:为分隔符打印出第1,3,4列,并且列之间用空格分割

awk -F'<td align="center">' '{print $4}' test.html :以<td align="center">为分隔符打印出第4列内容(可用来进行网页解析),-F后面加上'XX'表示以XX作为分隔符.

Linux基础:Grep查询&AWK查询的更多相关文章

  1. Linux三剑客grep、awk和sed

    grep,sed 和 awk是Linux/Unix 系统中常用的三个文本处理的命令行工具,称为文本处理三剑客.本文将简要介绍这三个命令并给出基本用法. 管道 在介绍这两个命令之前,有必要介绍一下Uni ...

  2. Linux三剑客grep/sed/awk

    grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color ...

  3. Linux三剑客grep、awk、sed

    何为Linux三剑客? 第一个剑客是 grep,grep 会根据正则表达式查找相关内容并打印对应的数据. 第二个剑客是 awk,awk 的名字来源于三个作者的名字简称,它可以根据定位到的数据行处理其中 ...

  4. linux三剑客grep|sed|awk实践

    最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk

  5. 13、Linux基础--grep、sed、awk三剑客综合运用

    考试 1.找出/proc/meminfo文件中以s开头的行,至少用三种方式忽略大小写 [root@localhost ~]# grep -E '^[sS]' /proc/meminfo [root@l ...

  6. Linux基础命令---host域名查询工具

    host host是一个常用的DNS查询工具,经常用来查询域名.检查域名解析是否正确. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora.   1.语法       ...

  7. 【linux基础】cuDNN版本查询

    参考 1. 查看cudnn版本; 完

  8. Linux命令-grep,sed,awk

    grep (global search regular expression[RE] and print out the line) 正则表达式全局搜索并将行打印出来 在文件中查找包含字符串" ...

  9. Linux学习grep,sed,awk工具的使用

    1.grep:根据模式搜索文本并将符合模式的文本显示出来(pattern模式:由文本字符和正则表达式元字符所匹配出来的条件) 注:alias grep='grep --color' -c:打印符合要求 ...

随机推荐

  1. 完成Adventure中的主方法

    package a; public interface CanSwim { void swim(); } package a; public interface CanFly { void fly() ...

  2. CCNA training notes

    5/29: vlan:virtual lan, 通过PVID来将物理上连通的host/PC划分到不同的局域网. switch的每个port有access与trunk两种mode,trunk模式的por ...

  3. window server开发

    代码部分: public partial class tv : ServiceBase { public tv() { InitializeComponent(); ServiceName = &qu ...

  4. Django.template框架 template context (非常详细)

    前面的章节我们看到如何在视图中返回HTML,但是HTML是硬编码在Python代码中的 这会导致几个问题: 1,显然,任何页面的改动会牵扯到Python代码的改动 网站的设计改动会比Python代码改 ...

  5. [51NOD1095] Anigram单词(map)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1095 字典的单词在map中排序和不排序各存1次,查的时候相减. ...

  6. 在服务器端如何提取checkbox提交的数据?

    HttpServeletRequest 单个字符串,getParameters() 多个字符串,getParametersValues(),返回一个数组,需要提前定义一个数组

  7. 常用的邮箱服务器(SMTP、POP3)地址、端口

    常用的邮箱服务器(SMTP.POP3)地址.端口 参考网址:http://wenku.baidu.com/link?url=IPv15rPRkd0nsuGH0Dm0A5kFyRaeHJY2_gYpDW ...

  8. 如何将自己开发的标签打成jar包

    1: 在Myeclipse中新建一个java工程 2: 将你的标签处理器类统统都拷到工程里面, 将tld文件拷到META-INF里面 3:点击file里面的export,

  9. MVC客户端验证配置

    <appSettings> <add key="ClientValidationEnabled" value="true"/> < ...

  10. flex中实现自动换行

    有时候由于label .button等控件中需要用到text属性显示出文本,文本太长就涉及到换行问题,解决方法如下 在actionScript 需要用“  ”实现换行,在需要换行的地方加上它就OK. ...