Linux操作系统正则表达式

正则表达式:

1正则表达式字符
通配符作用
?匹配0或多个字符
*匹配任意一个字符
[list]匹配list中任意单一个字符
[^list]或[!list]匹配除了list中任意单一个字符
[c1-c2]匹配c1-c2中的任意字符,如【0-9】或【a-z】
[!c1-c2]或 [^c1-c2匹配不在c1-c2中的任意字符
{string1,string2,…}匹配string1或string2(或更多其中一字符串)

代码

1.用正则表达式批量创建空文件
touch a{1,3}.txt 	//只能创建a1.txt和a3.txt文件
touch a{1..3}.txt	//创建是a1.txt,a2.txt,a3.txt

[myvm168@localhost touch]$ touch a{1,5}.txt
[myvm168@localhost touch]$ ls
a1.txt  a5.txt
[myvm168@localhost touch]$ touch a{5..8}.txt
[myvm168@localhost touch]$ ls
a1.txt  a5.txt  a6.txt  a7.txt  a8.txt

2.列举所有创建的文件
ls	a*

[myvm168@localhost touch]$ ls a*
a1.txt  a5.txt  a6.txt  a7.txt  a8.txt
[myvm168@localhost touch]$ ls a[5-9].txt
a5.txt  a6.txt  a7.txt  a8.txt
[myvm168@localhost touch]$ ls a[1,2].txt
a1.txt

3.删除
rm -rf a?.txt

[myvm168@localhost touch]$ rm -rf a?.txt

4.再次列举
ls 	a*
[myvm168@localhost touch]$ ls
字符作用
正则表达式的模式匹配字符
.点号,匹配单个任意字符
[15]匹配字符串中的1或5
[0-9a-zA-Z]匹配字符串中的数字及大小字母
[^字符]匹配除了[]中的所有字符
与模式匹配字符配合使用的量词
*匹配零个或多个前面的字符
.*表示零个或多个任意字符 ,空行也包含在内
{n}表示重复n次前面的字符
{n,}表示至少n次前面的字符
{n1,n2}表示重复n1到n2次前面的字符
控制字符
^表示行的开始
$表示行的结束
^$表示空行
\引用特殊字符
hello								//匹配包含hello的行
\*h$								//匹配倒数第一个是h,第二是*的行
^[a-z]\{2\}[^a-zA-Z]				//匹配以2个小写字母开关跟着一个非字母符的行
^\([0-9a-z][A-Z]\)*$				//匹配前面组合零次或多次的行

基础正则

基础正则含义搭配
^以。。。开始
$以。。。结束
^$空行搭配^$
.任意一个字符,排除空行
*前面一个字符连续出现0次或0次以上
.*所有内容
\转义字符 如\n \t
[]一个整体,匹配任意一个字符[]与+搭配
[^]取反排除[^abc]
正则贪婪性认识特点就行

扩展正则

总结

符号含义搭配
*前一个字符连续出现1次或1次以上[]+
|或者
()一个整体,sed反向引用
{}o{n,m} 前一个字母至少出现n次,最多出现m次
连续出现前一个字符出现0次或1次
**基础正则:grep ,egrep ,sed ,wak 可以任意使用** **扩展正则:egrep ,sed要使用扩展正则需要加入一个参数‘-r’**,**awk 可以任意使用**
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux操作系统中的正则表达式是一种强大的文本匹配工具,可以用于在文件中查找、替换、过滤等操作。常见的Linux命令如grep、sed、awk等都支持正则表达式的使用。 以下是一些常用的正则表达式符号及其含义: - `.`:匹配任意一个字符。 - `*`:匹配前面的字符出现0次或多次。 - `+`:匹配前面的字符出现1次或多次。 - `?`:匹配前面的字符出现0次或1次。 - `^`:匹配行首。 - `$`:匹配行尾。 - `[]`:匹配括号中的任意一个字符。 - `()`:将括号中的内容作为一个整体进行匹配。 - `|`:匹配左右两边任意一个表达式。 下面是一些常用的Linux命令及其正则表达式的使用示例: - grep命令:用于在文件中查找匹配的行。 ```shell # 查找包含"error"的行 grep "error" file.txt # 查找以"warning"开头的行 grep "^warning" file.txt # 查找以"error"结尾的行 grep "error$" file.txt # 查找以"error"开头或以"warning"结尾的行 grep "^error\|warning$" file.txt ``` - sed命令:用于对文件进行替换、删除等操作。 ```shell # 将文件中的"old"替换为"new" sed 's/old/new/g' file.txt # 删除文件中包含"error"的行 sed '/error/d' file.txt # 在文件开头添加一行内容 sed '1i\new line' file.txt ``` - awk命令:用于对文件进行格式化输出等操作。 ```shell # 输出文件中第2列的内容 awk '{print $2}' file.txt # 输出文件中包含"error"的行 awk '/error/' file.txt # 输出文件中第1列和第3列的内容 awk '{print $1,$3}' file.txt ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值