|
grep 在Linux 系统中是一种强大的文本搜索工具 可以通过使用正则表达式匹配需要提取的文本内容
grep
grep:默认支持基本正则表达式
egrep:扩展正则表达式
fgrep :不支持正则表达式元字符 搜索字符串的速度快
正则表达式是一类字符所书写的模式(pattern)
用法: grep [选项]... PATTERN [FILE]...
在每个 FILE 或是标准输入中查找 PATTERN。
默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。
例如: grep -i 'hello world' menu.h main.c
正则表达式选择与解释:
-E, --extended-regexp PATTERN 是一个可扩展的正则表达式(缩写为 ERE)
-F, --fixed-strings PATTERN 是一组由断行符分隔的定长字符串。
-G, --basic-regexp PATTERN 是一个基本正则表达式(缩写为 BRE)
-P, --perl-regexp PATTERN 是一个 Perl 正则表达式
-e, --regexp=PATTERN 用 PATTERN 来进行匹配操作
-f, --file=FILE 从 FILE 中取得 PATTERN
-i, --ignore-case 忽略大小写
-w, --word-regexp 强制 PATTERN 仅完全匹配字词
-x, --line-regexp 强制 PATTERN 仅完全匹配一行
-z, --null-data 一个 0 字节的数据行,但不是空行
正则表达式的主要参数
^string :锚定行首的符合条件的内容 用法格式 "^pattern"
string$ :锚定行尾符合条件的内容 用法格式 "pattern"$
^pattern$ ^$ 空白行
. : 匹配任意单个字符
* : 匹配紧挨在其前面的字符任意次 : a*b :ab
[ ] :匹配指定范围内的字符
[^] :匹配指定范围外的任意单个字符
\?:匹配紧挨在其前面的字符0次或1次
\{m,n}\ : 匹配其前面的字符 至少m次 至多n次
\{0,n\} 至少0次 至多n次
\{m,\} 至少m次 至多不限
\{m\} 精确匹配m次
\< : 锚定词首
\> : 锚定词尾
通过nano 做一个文本文件
# nano ifconfig.txt
取出非数字的内容
--color=auto grep 可以使用 --color=auto 来将关键字部分使用颜色显示
取出锚定行首的文本
取出所有数字文本
然后通过管道输出到另一个命令输入后 然后输出
取出文本的数字 然后用过wc 显示输出行数
自己感觉正则表达式组合灵活运用还是需要长时间的积累
|
|
|