Linux通配符、转义符讲解

本文主要介绍了Linux中的通配符和转义符。通配符可定义匹配条件,如*、?等,还说明了[]和{}的区别;转义符能将逻辑操作符转换成字符,有反斜杠、单引号、双引号、反引号等形式,还提及了转义符与管道符结合使用及相关注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

通配符 通过通配符定义匹配条件

转义符 将所有的逻辑操作符都转换成字符


通配符 通过通配符定义匹配条件

*      任意字符都可以通配(也可以匹配空值)

?     匹配单个字符

[a-z]   匹配单个的小写英文字母

[A-Z]   匹配单个的大写英文字母

[0-9]   匹配单个0-9的数字

[a,b,c]  匹配指定的单个字母(a或b或c)

[1,2,3]  匹配指定的单个数字(1或2或3),也等同于[123],不过为了严谨建议使用,分隔

[a,b,c][1,2,3]    第一个字符匹配指定字母,第二个字符匹配指定数字

{a,b,c}  匹配指定的单个字母,如果没有匹配项会报错

[]和{}的区别

 [] 有则显示,没有则不显示

 {} 有则显示出来,没有则报错

配置举例

目前有a、a1、a2、ab、aA、abc、aab7个文件

ls -l a*       可以匹配所有文件

ls -l a?       可以匹配a1、a2、ab、aA

ls -l a[a,b,c]   可以匹配ab

ls -l a{a,b,c}    不存在的文件会报错

[[:alpha:]]  匹配任意的单个字母(不区分大小写)

[[:upper:]]  匹配任意的单个大写字母

[[:lower:]]  匹配任意的单个小写字母

[[:digit:]]    匹配任意的单个数字

[[:alnum:]]  匹配任意的单个数字或字母

[[:punct:]]  匹配任意的单个标点符号


转义符 将所有的逻辑操作符都转换成字符

由于我们的输入问题,没有准确的让计算机得到我们的信息,使得计算机输出的内容可能与我们想要的结果不一样,因此通过转义符

\(反斜杠) 将\后面的一个变量转义为单纯的字符(单个转义)

''(单引号) 将''内的所有变量都转为单纯的字符(全局转义)

“”(双引号) 保留””中的变量属性,不进行转义处理

``(反引号) 将``中命令执行后的结果返回出来;$(命令) 效果同`命令`

                    一般可以放到shell脚本中使用--变量=`命令`

例子

echo $$   在屏幕上输出当前进程的PID值

echo ‘$$’  通过转义符使其转为字符,输出$$

echo “$$”  保留变量属性,输出当前进程的PID值

echo `ls`   直接在屏幕输出ls命令直接的结果

转义符与管道符结合使用

free -m | grep Mem | awk ‘{print $4}’  打印系统的空闲内存(M为单位)

注意事项

当使用echo a b c输出时不知道有几个对象,是一个对象(a b c),还是多个对象a,b,c

这种情况我们就使用双引号保留变量属性echo "a b c",表示输出是一个对象(a b c)

如果参数中出现了空格,就加双引号;如果参数中没有空格,那就可以不用加双引号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静下心来敲木鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值