`

grep 的常用表达式

 
阅读更多

echo -e '\e[34mhaha\e[m'  这样会输出带颜色的字符串 -e 表示特殊处理 \e 这个 \e必须跟着 [符号

 

 

grep 常用 

grep [-acinv] '搜寻字符串' filename

参数说明:

-a :将 binary 档案以 text 档案的方式搜寻数据

-c :计算找到 '搜寻字符串' 的次数

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!

 

 

1.搜索特定的字符 

grep 'oo' pp.txt  以下仅仅用 pp 代表 pp.txt

 

查看显示字符的行数  

grep -n 'oo' pp 

 

查看非oo的字符 

grep -v 'oo' pp

 

查看大小写忽略的字符

grep -i 'oo' p

 

 

2.利用[]处理搜索结果

查看 tast 和 test的字符串

grep -n 't[ae]st' pp  这里[ae]只当一个字符处理 a 或者是 e 这样就能匹配 上面的要求

 

若是希望匹配 t(x)st 这个x是任意的字符的话,那么可以如下处理方式

grep 't[.]st' pp  .符号代表任意的字符

 

查看包含oo字符的信息

grep -n 'oo' pp

 

若是希望在oo之前没有g的字符信息

grep -n '[^g]oo' pp 这里的^就是取反的意思 非goo得字符

 

取前面非字符的字符

grep -n '[^a-zA-Z]oo' pp 

 

得到数字的字符的话

grep -n '[0-9]' pp  // 其实这个等同于  grep -n '[0-9[0-9]*' pp * 代表0个或是多个重复的信息

 

 

3.行首和行尾的特殊处理 $^ 

若是希望取得第一行是 the 开头的字符行

grep -n '^the' pp 

 

若是希望取得以英文字符开头的字符

grep -n '^[a-zA-Z]' pp

 

取得不是以英文字符开头的信息

grep -n '^[^a-zA-Z]' pp   // 里面的^是取反 外面的^是以上面开头

 

取得小数点结尾的行

grep -n '\.$' pp     //小数点是特殊字符 需要用\进行转义

注意在windows下 换行时 ^M 这个符号 

 

 

取得一个空行的方式

grep -n '^$' pp 这里就是取空行了

 

希望取得所有文档中非注释掉得内容的话 那么可如下

grep -v '^$' pp|grep -v ^#              第一个是取非空行的数据 第一个管道是取非#开头的数据

我像有时候更多的是取 #开头的行

grep -n '^#' pp 

 

4.任意字符和重复字符

. :绝对的任意字符

* :0个或是多个相同字符

 

要查看gf中间是两个字符的数据

grep -n 'g..f' pp

 

至少有一个是o的字符串

grep -n 'oo*' pp  //因为*代表0个或是多个

 

以g开头和结尾,中间至少一个o

grep -n 'goo*g' 

 

查找gg中间是任意字符的字符串

grep -n 'g.*g' pp 这里.就代表任意字符

 

5.限定符 {}

查看g和p之间存在两个连个o的字符串

grep -n 'go\{2,5\}p'

 

查找至少两个的字符创

grep -n 'go\{2,\}p' pp

 

查找只有两个的字符串

grep -n 'go\{2\}p' pp

 

 

6.重要的特殊字符

 

^word 待搜寻的字符串(word)在行首!

范例:grep -n '^#' pp 搜寻行首为 # 开始的那一行!

 

 

word$ 待搜寻的字符串(word)在行尾!

范例:grep -n '!$' pp 将行尾为 ! 的那一行打印出来!

 

 

.代表任意的一个字符

范例; grep -n 'g.' pp 将是g开头的两个字符打印出来

 

 

\将特殊字符转义

范例:grep -n \' pp  搜索有单引号的那一行

 

*:匹配0个或是多个字符

grep -n 'o*' pp 匹配拥有零个或是多个o的字符

 

\{n,m\} :匹配的个数

grep -n 'o\{2\}' pp 打印出拥有两个oo的字符

 

[]匹配单个字符 

  1.[list] : [abl] 匹配 abl中任意一个

  2.[^xx]:对其中的字符进行取反  这里只能对的那个字符进行取反 若是希望是多个字符取反的话 还需要看看

  3.[char1-char2]:匹配某个范围之内的数据 例如 [a-z][A-Z][0-9]

 

7.扩张的grep --- > egrep  这个等同于 grep -E 

 

grep -v '^$' pp | grep -v '^#'

通过egrep来表示就是

egrep -v '^$|^'

 

egrep的几个特殊字符

+ :至少一个或是多个   egrep -n 'go+d' pp

?:0个或是一个        egrep -n 'go?d' pp

| :用或的方式来查找   egrep -n 'go|good' pp 查找go或是good

():找出群组的数据      egrep -n 'g(o|pp)d' pp 查看god 或是gppd  这个类似于 [] 但是比[]强大的是可以是多个字符进行乱换

egrep -n 'd(r|o)e' pp  ===== grep -n 'd[ro]e' pp 

 

分享到:
评论

相关推荐

    Indesign_GREP正则表达式

    ### Indesign_GREP正则表达式详解 #### 1. GREP正则表达式概述 在Adobe InDesign软件中,GREP(Global Regular Expression Print)正则表达式的使用能够极大地提高文档编辑效率,特别是在处理大量文本时。通过精确...

    grep与正则表达式

    ### grep与正则表达式详解 #### 一、引言 `grep` 是一款强大的文本搜索工具,它能够帮助用户快速地在文件中查找符合特定模式的字符串。结合正则表达式,`grep` 可以实现更为复杂精确的文本搜索任务。本文将详细...

    Linux常用命令和管理03-grep及正则表达式1

    "Linux常用命令和管理03-grep及正则表达式1" 本文将详细介绍 Linux 中的 grep 命令和正则表达式的使用,涵盖变量类别、Bash 配置文件、计算机理解、编程语言、Bash 编程、文件搜索、grep 命令、正则表达式、基本...

    正则表达式30分钟入门教程-附常用表达式.zip

    计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 许多程序设计语言都支持利用正则表达式进行字符串...正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。

    文本处理工具三剑客之---grep (正则表达式引擎,正则表达式元字符).md

    作为文本处理的三大工具之一,`grep`以其强大的文本搜索能力而著称,尤其当它与正则表达式相结合时,能够极大地提高工作效率。 #### grep简介 `grep`是一个用于在文件中搜索指定模式(pattern)并打印出匹配行的...

    linux grep命令详解

    `grep` 是 Linux 下一款强大的文本搜索工具,可以在文件中搜索固定字符串或者使用正则表达式搜索,是日常开发、运维工作中非常实用的一个命令。本文将详细介绍 `grep` 的常用选项及其功能。 #### 1. 基本概念 `grep...

    Linux常用命令和管理04-grep及扩展正则表达式1

    在扩展正则表达式中,有几种常用的字符匹配方式: 1. **`.`**:匹配任意单个字符。 2. **`[]`**:指定一个字符集,表示匹配其中的任何一个字符。例如,`[abc]` 表示匹配 `a`、`b` 或 `c`。 3. **`[^]`**:表示匹配不...

    grep用法详解 grep与正则表达式

    下面是一些常用的`grep`选项: - `-a`:将二进制文件当作文本文件处理。 - `-c`:只输出匹配行的计数,不显示具体内容。 - `-i`:忽略大小写,使搜索不区分大小写。 - `-n`:输出匹配行的行号。 - `-v`:反向选择,...

    常用正则表达式集合

    - **命令行工具**:grep、sed、awk等Unix/Linux工具利用正则表达式处理文本。 - **文本编辑器**:如Sublime Text、Visual Studio Code等提供了正则表达式搜索和替换功能。 - **在线测试**:Regex101、Debuggex等...

    正则表达式详细介绍(附常用表达式)

    以下是对正则表达式及其常用元字符的详细解释: 1. **元字符**: - `.`:匹配任意单个字符,除了换行符。 - `$`:匹配行结束符,表示字符串的结尾。 - `^`:匹配行开始,表示字符串的开头。 - `*`:匹配前面的...

    浅谈Linux grep与正则表达式

    下面我们将深入探讨grep的基本用法和正则表达式。 grep的基本使用方法是通过提供选项、模式和文件名来执行搜索。例如,`grep [OPTIONS] PATTERN [FILE...]`,其中OPTIONS是可选的参数,PATTERN是你要搜索的模式,...

    linux grep与正则表达式使用介绍

    `grep`命令的常用参数有: 1. `--color=auto`:自动高亮显示匹配的文本。 2. `-v`:反向选择,显示未匹配到模式的行。 3. `-i`:忽略大小写差异。 4. `-n`:显示匹配行的行号。 5. `-c`:仅统计匹配行的数量。 6. `...

    一些常用正则表达式常用

    - 使用命令`grep 'r.t' test.txt`进行搜索,可以匹配到`rat`、`rut`等行,但不会匹配到`root`。 2. **大小写敏感性**: - 若要同时匹配大小写字符,可使用`[Rr]`来匹配`R`或`r`。 3. **行首行尾限定**: - 若要...

    win10可用,windows下的grep命令行 用法同linux

    **grep常用选项** - `-i`:忽略大小写差异。 - `-v`:反向匹配,显示不包含指定模式的行。 - `-n`:显示匹配行的行号。 - `-l`:只显示包含匹配文本的文件名,而不显示具体内容。 - `-r`或`-R`:递归搜索子目录下的...

    unix的grep命令

    2. **Egrep**:扩展`grep`,支持更广泛的正则表达式特性,包括扩展正则表达式(ERE)。 3. **Fgrep**:快速`grep`,用于精确字符串匹配,而不是模式匹配。 #### 三、命令格式 `grep`的一般格式为: ``` grep [选项] ...

    Linux中利用grep命令如何检索文件内容详解

    如果您有任何疑问或想要了解更多关于`grep`和其他Linux命令的信息,请随时留言交流。 以上内容为Linux中利用`grep`命令检索文件内容的详细介绍,希望能够帮助到您。如果觉得有用,请记得收藏并分享给需要的朋友!

    深入浅出正则表达式,正则表达式详细介绍

    3. **Perl兼容正则表达式**(Perl Compatible Regular Expressions, PCRE):由Perl语言推广开来,成为最常用的正则表达式标准之一。 4. **其他引擎**:如.NET、Java等都有自己独特的实现。 #### 五、正则表达式的...

Global site tag (gtag.js) - Google Analytics