有测试文件test.txt一枚,内容如下

aaabbbccc
AAADDDEEE
abc
sdfjasldjf
bcd
okm
ABC

一、基本搜索常用
1、现在想把abc okm筛选出来

grep "abc\|okm" test.txt

结果:
abc
okm

2、把带a的行筛选出来,不区分大小写
grep -i "a" test.txt

结果:
aaabbbccc
AAADDDEEE
abc
sdfjasldjf
ABC

3、把带a的行筛选出来,只要小写的
grep "a" test.txt

结果:
aaabbbccc
abc
sdfjasldjf

4、把出现abc筛选出来,不区分大小写
grep -i "abc" test.txt

结果:
abc
sdfjabcasldjf
ABC

5、把出现abc整个单词的筛选出来
grep -w "abc" test.txt

结果:
abc

6、把出现abc整个单词筛选出来,不区分大小写
grep -wi "abc" test.txt

结果:
abc
ABC

二、
明确要求搜索子目录:grep -r
或忽略子目录:grep -d skip

三、正则匹配
格式
  grep [options]
      [options]主要参数:
      -c:只输出匹配行的计数。
  -I:不区分大 小写(只适用于单字符)。
  -h:查询多文件时不显示文件名。
  -l:查询多文件时只输出包含匹配字符的文件名。
  -n:显示匹配行及 行号。
  -s:不显示不存在或无匹配文本的错误信息。
  -v:显示不包含匹配文本的所有行。
  pattern正则表达式主要参数:
  \: 忽略正则表达式中特殊字符的原有含义。
  ^:匹配正则表达式的开始行。
  $: 匹配正则表达式的结束行。
  \<:从匹配正则表达 式的行开始。
  \>:到匹配正则表达式的行结束。
  [ ]:单个字符,如[A]即A符合要求 。
  [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
  。:所有的单个字符。
  * :有字符,长度可以为0。

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
  grep -l pattern files :只列出匹配的文件名,
  grep -L pattern files :列出不匹配的文件名,
  grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
  grep -C number pattern files :匹配的上下文分别显示[number]行,
  grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
  grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
  grep -n pattern files 即可显示行号信息
  grep -c pattern files 即可查找总行数

简单实例

grep ‘test’ d*
显示所有以d开头的文件中包含 test的行。

grep ‘test’ aa bb cc
显示在aa,bb,cc文件中匹配test的行。

grep ‘[a-z]\{5\}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

more test.txt | grep '[a-b]' 范围 ;如[A-Z]即A,B,C一直到Z都符合要求

结果:
aaabbbccc
abc
sdfjabcasldjf
bcd

grep '^a' test.txt 搜索以a开头的

结果:
aaabbbccc
abc

Linux中grep搜索用法的更多相关文章

  1. linux中grep的用法

    http://www.9usb.net/200902/linux-grep.html http://blog.51yip.com/linux/1008.html http://blog.csdn.ne ...

  2. 12个 Linux 中 grep 命令的超级用法实例

    12个 Linux 中 grep 命令的超级用法实例 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一 ...

  3. Linux中 find 常见用法示例

    Linux中find常见用法示例 #find path -option [ -print ] [ -exec -ok command ] {} \; #-print 将查找到的文件输出到标准输出 #- ...

  4. Linux中find常见用法

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数 ...

  5. [转]Linux中find常见用法示例

    Linux中find常见用法示例[转]·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;find命令的参 ...

  6. Linux中Grep常用的15个例子【转】

    转自:https://www.aliyun.com/jiaocheng/1390860.html?spm=5176.100033.1.9.6a1e41e8Pdjynm 摘要:Grep命令主要用于从文件 ...

  7. linux中grep命令的使用

    转载:http://blog.csdn.net/universsky/article/details/8866402 linux中grep命令的使用 grep (global search regul ...

  8. (转)linux 中特殊符号用法详解

    linux 中特殊符号用法详解 原文:https://www.cnblogs.com/lidabo/p/4323979.html # 井号 (comments)#管理员  $普通用户 脚本中 #!/b ...

  9. Linux中grep和egrep命令详解

    rep / egrep 语法: grep  [-cinvABC]  'word'  filename -c :打印符合要求的行数-i :忽略大小写-n :在输出符合要求的行的同时连同行号一起输出-v ...

随机推荐

  1. http tcp udp ip 间的关系

    首先,我自己梳理一下,其实除了应对以后的笔试,还有需要应对的是自己在编程中对于api的选择,我在满足需求时采取哪种方案更好. 首先,我需要了解的是tcp/ip是一个协议组,有三大层: ip 对应于网络 ...

  2. python常用模块json、os、sys

    一.序列化 json & pickle 模块 json--用于字符串和Python数据类型间进行转换 pickle---用于python特有的类型和Python的数据类型间进行转换 json: ...

  3. Codeforces Round #260 (Div. 2)

    A. Laptops 题目意思: 给定n台电脑,第i台电脑的价格是ai ,质量是bi ,问是否存在一台电脑价格比某台电脑价格底,但质量确比某台电脑的质量高,即是否存在ai < aj 且 bi & ...

  4. 关于用display:table让元素居中的小结

    我们都知道让元素垂直居中有一种简单的方法:给需要居中的元素用一个父级包起来,并给它设置样式:display:table:同时给这个父级设置好高度:再给需要居中的元素一个display:table-ce ...

  5. BZOJ4293: [PA2015]Siano

    Description 农夫Byteasar买了一片n亩的土地,他要在这上面种草. 他在每一亩土地上都种植了一种独一无二的草,其中,第i亩土地的草每天会长高a[i]厘米. Byteasar一共会进行m ...

  6. nginx的日常应用

    nginx的配置文件nginx.conf配置详解如下: user nginx nginx ; Nginx用户及组:用户 组.window下不指定 worker_processes ; 工作进程:数目. ...

  7. pythonchallenge 解谜 Level 7

    #-*- coding:utf-8 -*- #代码版本均为python 3.5.1 #Level 7 from PIL import Image x_begin, x_end = 0, 609 y_b ...

  8. *HDU 1709 母函数

    The Balance Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  9. ES6(五) 数组扩展

    Array.of方法用于将一组值,转换为数组.  Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES ...

  10. android布局实践——模仿微信主界面

    这是目前微信6.0版本的主界面 先来分析一波: 1.(top.xml)界面头部有一个微信(6)消息提醒    一个搜索图标   一个更多的的图标+,中间还有一段空白,我们可以弄两个textView(其 ...