重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
linux grep命令 命令本来是ed行编轿陪辑器中的一个闭顷蠢php?name=%C3%FC%C1%EE" onclick="tagshow(event)" class="t_tag"命令/过滤器乎滚: g/re/p -- global - regular expression - print. 基本格式 grep pattern [file...] (1)grep 搜索字符串 [filename] ...
创新互联始终坚持【策划先行,效果至上】的经营理念,通过多达10年累计超上千家客户的网站建设总结了一套系统有效的网络营销推广解决方案,现已广泛运用于各行各业的客户,其中包括:成都茶楼设计等企业,备受客户称赞。
以下内容首发自公众号“小汪Waud”。
本期介绍在Linux环境下的正则表达式及grep命令。
正则表达式(Regular Expression)是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些字符的特定组合,组成一个“规则字符串”,这个字符串用来表达对字符串的一种过滤逻辑。
正则表达式基本上是一种表示法,只要程序支樱指持这种表示法,该程序就可以用来作为正则表达式的字符串处理之用。如vi、grep、awk、sed等程序支持正则表达式,所以可以使用正则表达式的特殊字符来进行字符串的处理。但例如cp、ls等命令并不支持正则表达式,所以只能用自己的通配符。
正则表达式依照 不同的严谨度 分为:基础正则表达式和扩展正则表达式。
注意!
grep是一种强大的文本搜索工具,可以使用 正则表达式匹配模式 查找文件里符合条件的字符串,并打印出来。
有点类似于WORD里的查找功能。
grep支持三种正则表达式语法:Basic、Extended和perl兼容。 如果没有提供正则表达式类型,grep将搜索模式解释为基本的正则表达式。要将模式解释为扩展正则表达式,请使用-E。
查看grep的帮助文档,如下
基本用法
grep [OPTION]... PATTERN [FILE]...
高级用法
grep [-A] [-B] [--color=auto] "查找字符" [模式] [文件]
常用参数
首先通过cat命令查看samples.txt的内容,如下图
如果想检索以K为行首的磨闭行,通过以下命令即可得到
如果想检索以Z为行尾的行,通过以下命令即可得到
如果想检索三个字符其中前面为K,后面为D中间字符,为任意字符,通过以下命令脊游配即可得到
参考资料
$ cat 1.txt
IP 132.77.64.253.snmp 195.9.200.8.35865:
IP 195.9.200.8 历和行 195.9.200.2:
$ cat 1.txt | sed -r 's/IP ([0-9]+\.[0-9]+.[0-9]+\.[0-9]+).* ([0-9]+\棚蚂.[0-9]+\.
[0-9]+\.[0-9]+).*/肢哗\1 \2/'
结果:
132.77.64.253 195.9.200.8
195.9.200.8 195.9.200.2