1.正则表达式
正则表达式:描述某些字符串匹配规则的工具
2.常见的支持正则表达式的UNIX工具:
grep
命令族:用于匹配文本行
sed
流编辑器:用于改变输入流
awk
:用于处理字符串的语言
more
或者less
等:文件查看程序
ed
,vi
或者vim
等:文本编辑器
实践正则表达式:
#! /bin/bash
str=`cat version.txt|grep rev`
echo"$str"
(cat命令用来显示文本内容,竖线是管道,表示将cat命苦的输出结果作为后面的那个命令的输入,grep命令用来查找文本,rev指要匹配的字符串。上面执行结果表示version.txt文件中的某一行含义rev这个字符串,实际上,grep命令后面的参数可以换成任意的正则表达式)
3.正则表达式原理
正则表达式是对文本进行过滤的工具,之所以有过滤文本的功能,因为它定义了一系列的元字符,通过元字符配合其他字符来表达出一种规则。只有符合该规则的文本才能保留下来。
元字符
:描述字符的字符。
元字符作用
:对表达式的内容,转换以及各种操作信息进行描述。
4.正则表达式用法
1)行首定位符 “^”
用来匹配行首的字符。表示行首的字符是^后面的那个字符。
行首定位符位于所作用的字符之前
例如:列出/etc目录中的以字母po开头的文件名
str=`ls /etc |grep "^po"`
echo"$str"
(^po理解为第一个字符为p,紧跟着一个字母o的文本行。不要理解为字符串po开头的文本行。)
2)行尾定位符”$”
作用:定位文本行的末尾。
行尾定位符位于所作用的字符之后。
列出/etc目录中以conf结尾的文件名
str=`ls /etc |grep "conf$"`
echo"$str"
结果:anthy-conf
asound.conf
注意:
精确匹配一个文本行:^cat:匹配所有[空行]
单独的^和$没有任何意义,因为任何一个文本行都有开头和结尾。
[参考链接:]
https://blog.csdn.net/qq504196282/article/details/52995198
https://www.cnblogs.com/OldJack/p/6607155.html
网友评论