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正则表达式详解 #### 1. GREP正则表达式概述 在Adobe InDesign软件中,GREP(Global Regular Expression Print)正则表达式的使用能够极大地提高文档编辑效率,特别是在处理大量文本时。通过精确...
### grep与正则表达式详解 #### 一、引言 `grep` 是一款强大的文本搜索工具,它能够帮助用户快速地在文件中查找符合特定模式的字符串。结合正则表达式,`grep` 可以实现更为复杂精确的文本搜索任务。本文将详细...
"Linux常用命令和管理03-grep及正则表达式1" 本文将详细介绍 Linux 中的 grep 命令和正则表达式的使用,涵盖变量类别、Bash 配置文件、计算机理解、编程语言、Bash 编程、文件搜索、grep 命令、正则表达式、基本...
计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 许多程序设计语言都支持利用正则表达式进行字符串...正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。
作为文本处理的三大工具之一,`grep`以其强大的文本搜索能力而著称,尤其当它与正则表达式相结合时,能够极大地提高工作效率。 #### grep简介 `grep`是一个用于在文件中搜索指定模式(pattern)并打印出匹配行的...
`grep` 是 Linux 下一款强大的文本搜索工具,可以在文件中搜索固定字符串或者使用正则表达式搜索,是日常开发、运维工作中非常实用的一个命令。本文将详细介绍 `grep` 的常用选项及其功能。 #### 1. 基本概念 `grep...
在扩展正则表达式中,有几种常用的字符匹配方式: 1. **`.`**:匹配任意单个字符。 2. **`[]`**:指定一个字符集,表示匹配其中的任何一个字符。例如,`[abc]` 表示匹配 `a`、`b` 或 `c`。 3. **`[^]`**:表示匹配不...
下面是一些常用的`grep`选项: - `-a`:将二进制文件当作文本文件处理。 - `-c`:只输出匹配行的计数,不显示具体内容。 - `-i`:忽略大小写,使搜索不区分大小写。 - `-n`:输出匹配行的行号。 - `-v`:反向选择,...
- **命令行工具**:grep、sed、awk等Unix/Linux工具利用正则表达式处理文本。 - **文本编辑器**:如Sublime Text、Visual Studio Code等提供了正则表达式搜索和替换功能。 - **在线测试**:Regex101、Debuggex等...
以下是对正则表达式及其常用元字符的详细解释: 1. **元字符**: - `.`:匹配任意单个字符,除了换行符。 - `$`:匹配行结束符,表示字符串的结尾。 - `^`:匹配行开始,表示字符串的开头。 - `*`:匹配前面的...
下面我们将深入探讨grep的基本用法和正则表达式。 grep的基本使用方法是通过提供选项、模式和文件名来执行搜索。例如,`grep [OPTIONS] PATTERN [FILE...]`,其中OPTIONS是可选的参数,PATTERN是你要搜索的模式,...
`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. **行首行尾限定**: - 若要...
**grep常用选项** - `-i`:忽略大小写差异。 - `-v`:反向匹配,显示不包含指定模式的行。 - `-n`:显示匹配行的行号。 - `-l`:只显示包含匹配文本的文件名,而不显示具体内容。 - `-r`或`-R`:递归搜索子目录下的...
2. **Egrep**:扩展`grep`,支持更广泛的正则表达式特性,包括扩展正则表达式(ERE)。 3. **Fgrep**:快速`grep`,用于精确字符串匹配,而不是模式匹配。 #### 三、命令格式 `grep`的一般格式为: ``` grep [选项] ...
如果您有任何疑问或想要了解更多关于`grep`和其他Linux命令的信息,请随时留言交流。 以上内容为Linux中利用`grep`命令检索文件内容的详细介绍,希望能够帮助到您。如果觉得有用,请记得收藏并分享给需要的朋友!