kution 发表于 2018-5-25 09:16:25

Linux新手之路


grep 在Linux 系统中是一种强大的文本搜索工具可以通过使用正则表达式匹配需要提取的文本内容


grep
                  grep:默认支持基本正则表达式
                  egrep:扩展正则表达式
                  fgrep :不支持正则表达式元字符搜索字符串的速度快



正则表达式是一类字符所书写的模式(pattern)


用法: grep [选项]... PATTERN ...
在每个 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=autogrep 可以使用 --color=auto 来将关键字部分使用颜色显示


取出锚定行首的文本




取出所有数字文本


然后通过管道输出到另一个命令输入后   然后输出   
取出文本的数字 然后用过wc 显示输出行数




自己感觉正则表达式组合灵活运用还是需要长时间的积累















  

  
页: [1]
查看完整版本: Linux新手之路