shell-003 通配符

本文详细解析了Bash环境下各种通配符的使用方法,包括*、?、[]、{}

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

在bash下,可以使用:
*       来匹配零个或多个字符
?       匹配一个字符
[]       满足一个范围[0-9a-zA-Z]中的一个
{}       或的意思,{a,b,c,1,2,3}逗号隔开,满足一个
[^]      否,有且仅有一个,且不是所枚举的字符,如[^a-zA-Z]
#        注释符号
\         转义符,将特殊字符或通配符还原成一般字符
|         管道符
;         命令连接符,连续执行多个命令
~        当前用户家目录
&        工作控制,放在命令后面,将指令变成后台工作
!       逻辑非
> >> << < 数据流重定向
' '         单引号,无法引用变量
" "        双引号,可以引用变量
` `        反引号,指令引用,类似$(command)

[root@localhost tmp]# ls
222.txt  333.txt  shadow-text.txt  systemd-private  taroo1  test01  vimtest01.txt  vmware-root  zip-test
[root@localhost tmp]# ls  *.txt
222.txt  333.txt  shadow-text.txt  vimtest01.txt
[root@localhost tmp]# ll *.tx*
-rw-rw-r--. 1 panyu001 panyu001   8927 8月   4 16:12 222.txt
-rwx--x--x. 1 panyu001 root         80 8月   6 21:51 333.txt
-rw-r--r--. 1 root     root       2018 8月   6 21:45 shadow-text.txt
-rw-r--r--. 1 root     root     670293 8月  12 22:22 vimtest01.txt
[root@localhost tmp]# ls ???.txt
222.txt  333.txt
[root@localhost tmp]# ls [0-300].txt
ls: 无法访问[0-300].txt: 没有那个文件或目录
[root@localhost tmp]# ls [2-3][2-3][2-3].txt
222.txt  333.txt
[root@localhost tmp]# ls [2][23][23]*
222.txt
[root@localhost tmp]# ls [0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z]
taroo1
test01:
111.txt  222
[root@localhost tmp]# ls {222,333}.txt
222.txt  333.txt
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值