Shell正则表达式 通配符

1
man glob
符号 作用
? 匹配一个任意字符
* 匹配0个或多个任意字符
[] 匹配括号中任意一个字符
[-] 匹配括号中任意一个字符,-代表一个范围
[^] 匹配不是括号中的一个字符
[:space:] 空白字符
[:punct:] 标点符号
[:lower:] 小写字母
[:upper:] 大写字母
[:alpha:] 大小写字母
[:digit:] 数字
[:alnum:] 数字和大小写字母

注:

  1. a[a-z]ba[A-Z]b不区分大小写,都可以匹配abcaBc
  2. 专用字符集的[]和匹配括号中的任意一个字符不是一个同一个,专用字符集需要添加[]
1
ls a[[:upper:]]b

Bash中其他特殊符号

符号 作用
‘’ 单引号,在单引号中左右的特殊符号,如$、`(反引号)都没有特殊含义
“” 双引号,在双引号中左右的特殊符号都没有特殊含义,但是“$”,”`”,”\”是例外。拥有“调用变量的值”,“引用命令”和“转义符”的特殊含义
`` 反引号,反引号括起来的内容是系统命令,在Bash中会先执行它。和$()作用一样。不过推荐使用$(),因为反引号非常容易看错
$() 和反引号作用一样,用来引用系统命令
# 在Shell脚本中,#开头的行代表注释
$ 用于调用变量的值,如需要调用变量name的值时,需要用$name的方式得到变量的值
\ 转义符,跟在\之后的特殊符号将失去特殊含义,变为普通字符。如\\$将输出”$”符号,而不再是变量引用
1
2
3
4
5
6
7
8
9
10
echo `ls`
echo date
echo `date`
echo $(date)
name=xi
echo '$name'
echo "$name"
echo '$(date)'
echo "$(date)"

https://blog.csdn.net/tzs_1041218129/article/details/52896327