grep 根据模式搜索文本,并将符合模式的文本显示出来
Pattern 文本字符串和正则表达式的元字符组合而成匹配条件
grep [option] Pattern [file...]
1、查找带有root字符的行
grep 'root' /etc/passwd
2、查找带有root字符的行并高量显示
grep --color 'root' /etc/passwd
3、-v 方向查找,显示没有被匹配到的行
grep -v 'root' /etc/passwd
4、-o 只显示被匹配到的字符串
grep -o 'root' /etc/passwd
5、-A # 把匹配到的行后面的几行也显示
grep -A 2 '^core id' /proc/cpuinfo
6、-B # 把匹配到的行前面的几行也显示
grep -B 2 '^core id' /proc/cpuinfo
7、-C # 把匹配到的行前后面的各几行也显示
grep -C 2 '^core id' /proc/cpuinfo
*:任意长度的任意字符 >=0次
?:任意单个字符 0或1次
[]:指定范围内
[^]:指定范围外
正则表达式:REGular EXPression ,REGEXP
元字符
.:任意单个字符 grep --color 'r..t' /etc/passwd
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
字符集合:
[:digit:]数字, [:lower:]小写字符,[:upper:]大写字符, [:punct:]标点符号
[:space:]空白字符,[:alpha:]所有字符,[:alnum:]所有数字和字符
字符匹配次数:
*:任意其前面的字符任意次
a , b , ab , aab, acb ,adb , amnb
a*b : b , ab , aab, acb ,adb , amnb --a可以出现或者不出现
.*:任意长度的任意字符
a.*b : ab , aab, acb ,adb , amnb
?:任意其前面的字符0或1次
a\?b : b , ab , aab, acb ,adb , amnb
\{m,n\}:匹配其前面的字符至少m次,至多n次
\{1,\} 至少一次,多了不限
\{0,3\} 最多3次,少了不限
grep 'a\{1,3\}b' grep1.txt
grep 'a.\{1,3\}b' grep1.txt
位置锚定:
^: 锚定行首,此字符后面的内容必须出现在行首
grep --color '^root' /etc/passwd
$: 锚定行尾,此字符前面的内容必须出现在行尾
grep --color 'w$' /etc/inittab
^$: 空白行
\<或\b:锚定词首,其后面的字符必须作为单词的首部出现
\>或\b:锚定词尾,其前面的字符必须作为单词的尾部出现
分组:
\(\)
\(ab\)* ab可以出现任意次
向后引用
\1:
\2:
\3:
例子:
He love his lover.
She like her liker.
He like his lover.
She love her liker.
She like him.
grep 'l..e' test.txt
grep 'l..e.*l..e' test.txt
grep '\(l..e\).*\1' test.txt
查找任意行中出现了一个数字,仍以该数字结尾的行
grep --color '\([0-9]\).*\1$' /etc/inittab
egrep --color '([0-9]).*\1$' /etc/inittab
扩展正则表达式grep -E egrep
分组()、{m,n}不需要加斜线
grep -E 'C|cat' test.txt
grep --color -E '(C|c)at' test.txt
至少一个空白字符开头的杭
grep --color -E '^[[:space:]]+' /etc/grub.conf
grep --color -E '^[[:space:]]{1}' /etc/grub.conf
找到1-255之间的整数 --()是关键
egrep --color '\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>' /etc/grub.conf
找出ifconfig结果中的ip地址,4个数字,每个数字都是0-255
ifconfig | egrep --color '\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>'
ifconfig | egrep --color '(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>
分享到:
相关推荐
这个资源摘要信息主要介绍了 Linux 相关命令的详解,包括文本处理工具 awk、sed、grep、sort、uniq、cut、paste、join 等的语法规则、常用选项和示例应用。 awk 命令是Pattern Scanning and Processing Language,...
这个压缩包提供了一个适用于Windows的`grep`命令行工具,使得在Windows环境下可以使用与Linux相同的命令语法进行文本查找。 `grep`(全球定位记录)是Linux系统中的一个强大工具,它允许用户在文件或输出流中搜索...
它的基本语法是`grep [选项] 模式 [文件]`,其中选项可以设定搜索行为,如 `-i` 忽略大小写,`-v` 反向匹配,`-r` 递归搜索目录等。模式可以是简单的字符串,正则表达式,或者使用`-E`选项的扩展正则表达式。掌握...
使用grep命令的基本语法是: ``` grep [选项] 模式 文件... ``` - `选项` 可以控制搜索行为,如 `-i` 忽略大小写,`-v` 选择不匹配的行,`-n` 显示行号等。 - `模式` 是要匹配的字符串或正则表达式。 - `文件...` 是...
grep程序是Unix/Linux系统中的一款强大文本搜索工具,它的全称是Global Regular Expression Print,用于在文件中查找指定模式的行。在这个“grep程序的源代码”中,我们可以深入理解grep的工作原理,学习C++语言实现...
#### 三、命令语法 ```bash grep [OPTION]... PATTERN [FILE]... ``` - **PATTERN**:表示要搜索的模式。 - **FILE**:表示要搜索的文件列表。如果不指定,则默认为标准输入。 #### 四、常用选项 - **-E**:将每...
语法为`grep "literal_string" filename`,其中`literal_string`是要搜索的字串,`filename`是要搜索的文件名。 例如,使用`grep "this" demo_file`命令可以搜索`demo_file`文件中包含“this”字串的行。 2. 在多...
一旦设置完成,你就可以像在Linux上一样使用基本的`grep`语法,例如: 1. **基础使用**:`grep "search_string" file.txt` - 在`file.txt`中查找包含"search_string"的行。 2. **反向匹配**:`grep -v "exclude_...
grep的基本语法是:grep [options] pattern [files]。其中options是选项,pattern是要搜索的模式,files是要在其中搜索的文件列表。如果省略文件名,则从标准输入读取。 2. grep的常见选项 - -c:仅显示匹配行的...
- **基本正则表达式**(`grep`或`grep -G`):使用较为简单的语法,适用于快速文本搜索。 - **扩展正则表达式**(`egrep`或`grep -E`):提供更复杂的匹配规则,如非捕获组、重复和位置锚点等。 - **固定字符串**(`...
grep 命令支持三种正则表达式语法:Basic、Extended 和 Perl 正则表达式。当没有指定正则表达式类型时,grep 将搜索模式解释为 Basic 基本正则表达式。 使用 grep 命令搜索多个字符串可以使用多条件搜索模式,语法...
`grep`的基本语法如下: ```bash grep [选项] 模式 文件名 ``` 其中,“模式”可以是简单的字符串,也可以是复杂的正则表达式;“文件名”可以是一个或多个文件名,也可以是标准输入(如通过管道)。 #### 三、核心...
`grep`命令的基本语法是`grep [options] PATTERN [FILE...]`。在这里,`PATTERN`是你想要匹配的模式,可以是简单的字符串或正则表达式;`FILE`则是你要搜索的文件列表。如果没有指定文件,grep将从标准输入读取数据...
`grep`命令的基本语法如下: ``` grep [选项] 模式 文件名 ``` 其中,“模式”可以是简单的字符串或复杂的正则表达式。“文件名”可以是一个具体的文件,也可以是文件列表或标准输入。常用的选项包括但不限于: - ...
Vim(Vi IMproved)是Vi编辑器的增强版,保留了原始Vi的键盘驱动操作方式,同时增加了许多新特性,如语法高亮、代码折叠、插件支持等。这里的“80”可能表示这是针对80列显示优化的版本,而“586”可能是指它是为x86...
使用`grep`的基本语法是: ```shell grep [选项] 模式 [文件] ``` - `选项`:如 `-i` 忽略大小写,`-v` 反向匹配,`-n` 显示匹配行的行号等。 - `模式`:正则表达式,用于定义要查找的文本模式。 - `文件`:要搜索...
`grep` 命令的基本语法如下: ```bash grep [选项] 模式 文件名 ``` - **选项**:用于指定搜索模式和行为。 - **模式**:指定要搜索的字符串或正则表达式。 - **文件名**:指定要搜索的文件。 #### 三、正则...
它的基本语法是 `grep [选项] [模式] [文件]`。`grep` 的强大之处在于它支持正则表达式,允许我们进行复杂的文本匹配。例如,`grep "hello"` 可以在文件中查找包含 "hello" 的行。通过添加 `-i` 选项,可以忽略大小...