通配符与正则表达式

一,自我介绍

大家好,我是繁星点灯光,欢迎来到我的博客!为了复习与分享知识,来巩固自己的学习,我会在csdn上持续分享自己学习的知识点。希望你们喜欢,也欢迎交流。

二,通配符

通配符适用于简单的文件名匹配和搜索,而正则表达式适用于更复杂的字符串匹配和处理。

命令行通配符

符号含义
*表示匹配任意长度的任意字符
表示匹配任意一个字符
[ ]表示匹配[ ]内的任意单个字符
[^ ]表示匹配[ ]外的任意单个字符

touch file{1…20} 创建二十个文件
ls *1 列出以一结尾的文件(file1, file11)
ls file? 列出以一结尾并且后面只有一个字符的文件 (file1 - file9)
ls file[0-1][2-5] (file12, file13, file14, file15)(不包括file2,file3)

三、正则表达式

grep [-n, -v, -c, -i, -H, -r, -l , -e] ‘关键字’ 文件名
-v: 匹配的行不显示,其他的都显示
-n: 显示匹配的行数
-c: 统计匹配的行数
-i: 忽略大小写
-H: 匹配的行都附带输出文件名
-r: 递归目录,按照关键字,找到能匹配该关键字的文件
注意:此时每次输出都带有文件名,-H可有可无
-l: 只显示匹配关键词的文件名
-e: 依次搜索匹配中,同时匹配多种模式的某一个
-E: 用于启用扩展的正则表达式模式匹配功能。

grep ‘alias’ ~/.bashrc
grep -n ‘alias’ ~/.bashrc
grep -v ‘#’ ~/.bashrc
grep -nr ‘size_t’ /usr/include/linux

正则表达式

符号含义
\转义字符
[xyz]匹配所包含的任意一个字符
[a-z]匹配指定范围内的任意字符
[^a-z]匹配不在指定范围内的任意字符
.匹配除\n之外的单个字符
^匹配行首 ^/etc
$匹配行尾 ^conf$
xy
(pat)提高优先级
*匹配前面的子表达式零次或多次
+匹配前面的子表达式一次或多次
?匹配前面的子表达式零次或一次
{n}匹配确定的n次
{n,}至少匹配n次
{n,m}至少匹配n次且最多匹配m次

grep -E ‘(’ data.txt
grep -E ‘a[xyz]b’ data.txt
grep -E ‘[A-Z]’ data.txt (单词只要行有A-Z的字符就行)
grep -E ‘^[0-9]’ data.txt (单词以0-9开头)

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值