grep命令以及正则表达式

grep,正则表达式

#文件本过滤
grep
– –color=auto
– v #取反
– i #忽略大小写
– n #显示行号
– c #统计行数
– o #只显示匹配模式的字符
– q #静默模式
– A #找到所有的匹配行,并显示匹配行后N行
– B #找到所有的匹配行,并显示匹配行前面N行
– C #除了显示符合范本样式的那1列之外,并显示该列之前后的N行
– e #grep -e root -e bash /etc/passwd,或者
– w #匹配整个单词
– f #grep -f p_file,文件中存放要过滤的模式[包含]
– E #扩展正则表达式
– F #当于fgrep,不支持正则表达式
#数字+字母; 下划线+字母,在grep中都算做是单词
#正则表达式 REGEXP
正则表达式:BRE
元字符:字符匹配、匹配次数、位置锚定、分组
. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
[:alnum:] 字母和数字
[:alpha:] 代表任何英文大小写字符
[:lower:] 小写字母 [
[:blank:] 空白字符(空格和制表符
[:space:] 水平和垂直的空白字符,[包含回车和TAB键]
[:cntrl:] 不可打印的控制字符
[:digit:] 十进制数字 [:
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 标点符号
匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数
* 匹配前面的字符任意次,包括0次
.* 任意长度的任意字符 #贪婪模式:尽可能长的匹配
\? 匹配其前面的字符0或1次
\+ 匹配其前面的字符至少1次
\{n\} 匹配前面的字符n次
\{m,n\} 匹配前面的字符至少m次,至多n次
\{,n\} 匹配前面的字符至多n次
\{n,\} 匹配前面的字符至少n次
#eg
echo axb |grep ax*b, echo axb |grep “ax*b”
echo “1a” |grep “[a-z]\+”
#.在中括号内,表示.本身,不需要转义
eg: echo “1.” |grep “[a-z.]\+”
ifconfig ens38 |grep -o “[0-9.]\{7,\}”
#取分区利用率
df |grep “sd[a-z]\+[1-9]\+” |grep -o “[0-9]\{1,3\}%” |grep -o “[0-9]\+” |sort -nr |head -n1
#位置锚定,对于grep的单词概念:字母、数字、下划线都算是单词
^
$
\< #锚定词首
\> #锚定词尾
\b,\b #表示词首或词尾
#分组
eg: echo “kingkingking” |grep “\(king\)\{3\}”
分组的引用:
\(string1\+\(string2\)*\)
\1 :string1\+\(string2\)*
\2 :string2
eg: grep “^\(.*\):.*/\1$” /etc/passwd
echo “rootaarbbt” |grep ‘\(r..t\).*\1’
echo “rootaaroot” |grep ‘\(r..t\).*\1’
echo “rootaarbbt” |grep ‘\(r..t\).*\(r..t\)’
#或者
| #grep “^\(a\|b\).*” /etc/passwd
eg:
echo axy |grep “\(a\|b\)xy” #过滤axy或bxy
echo axy |grep “a\|bxy” #过滤a或bxy
扩展正则表达式:ERE
扩展正则表达式
次数匹配:
*:匹配前面字符任意次
?: 0或1次
+:1次或多次
{m}:匹配m次
{m,n}:至少m,至多n次
位置锚定:
^ :行首
$ :行尾
\<, \b :语首
\>, \b :语尾
分组:
()
后向引用:\1, \2, …

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95398

(1)
凢洣阳光凢洣阳光
上一篇 2018-04-08
下一篇 2018-04-08

相关推荐

  • iproute家族命令

    1 ifconfig up 启动指定网络设备/网卡down 关闭指定网络设备/网卡-a 显示全部接口信息-s 显示摘要信息add 设置指定网卡配置IPv6地址del 删除指定网卡配置IPv6地址mtu<字节数> 设置网卡的最大传输单元(bytes)netmask<子网掩码>设置网卡的子网掩码multicast 为网卡设置组播标志 例子…

    Linux笔记 2018-04-15
  • shell脚本编程基础(2)——新手注意事项及技巧16条

    总结了一些shell脚本编程初学者常犯的错误、注意事项及技巧

    2018-04-14
  • Linux第五周作业

    1、简述rpm与yum命令的常见选项,并举例 RPM: rpm命令:rpm  [OPTIONS]  [PACKAGE_FILE] 安装:-i, –install 升级:-U, –update, -F, –freshen 卸载:-e, –erase 查询:-q, –query 校验:-V, &#821…

    2018-07-16
  • liunx 基础知识

    命令提示符 #表示管理员  $ 表示普通用户  。显示提示符格式 ::修改提示符格式  : 命令别名 :    

    Linux笔记 2018-04-01
  • 计算机的组成及其功能

    01.描述计算机的组成及其功能 计算器是由运算器,控制器,存储器,输入装置和输出装置五大部件组成计算机, 每一部件分别按要求执行特定的基本功能。 输入设备  将数据、程序、文字符号、图象、声音等信息输送到计算机中。常用的输入设备有键盘、鼠标、触摸屏、数字转换器等。 输出设备  将计算机的运算结果或者中间结果打印或显示出来。常用的输出设备有:显示器、打印机、绘…

    2018-08-09