通配符{}的用法,..表示一个区间的字符,,表示几个不连续的字符
通配符[a-z]表示其中的任何一个字符
[root@b abc]# echo {a..d}
a b c d
[root@b abc]# echo {a,c,h}
a c h
[root@b abc]# pwd
/root/test/abc
[root@b abc]# echo {a,b,`pwd`}
a b /root/test/abc
[root@b abc]# echo {a-z}
{a-z}
[root@b abc]# echo {abcdef}
{abcdef}
[root@b abc]# echo [a-z]
[a-z]
[root@b test]# ls [a-z].txt
a.txt b.txt f.txt h.txt l.txt m.txt s.txt
[root@b abc]# echo {a..b}{a..b}{a..b}{a..b}{a..b}|xargs -n1 | wc -l
32
[root@b abc]# mkdir {a..b}/{a..b}/{a..b} -p
[root@b abc]# tree
.
├── a
│ ├── a
│ │ ├── a
│ │ └── b
│ └── b
│ ├── a
│ └── b
└── b
├── a
│ ├── a
│ └── b
└── b
├── a
└── b
14 directories, 0 files
[root@b abc]# echo {1..99}{1..99}{a..z}{A..Z}
#共有6625476个数字输出,如果计算机性能不行就会内存溢出,系统死掉
通配符?表示任意一个字符,*代表任意0个或多个字符
[root@b test]# ls ?.txt
a.txt b.txt f.txt h.txt l.txt m.txt s.txt
[root@b test]# ls ?*.txt
abcd.txt ab.txt b.txt h.txt m.txt xo.txt
abc.txt a.txt f.txt l.txt s.txt zhiwen.txt
[root@b test]# ls ??*.txt
abcd.txt abc.txt ab.txt xo.txt zhiwen.txt
通配符的作用通常是是匹配文件名称
a=hostname.ssl.hn_hk.csg.cn
#查看变量的字符串长度
echo ${#a}
##删除字符串hostname字符
echo ${a#hostname}
#删除字符串(#从前往后删除,直到删除最后一个.,##贪婪匹配)
echo ${a##*.}
#删除字符串.cn(@从后往前删除)
echo ${a@.cn}
#删除字符串(@从后往前删除,知道删除最后一个.,@@贪婪匹配)
echo ${a@@*.}
#字符串切片显示
echo ${a:9:11}