通配符{}的用法,..表示一个区间的字符,,表示几个不连续的字符
通配符[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}
 
                    
                     
                    
                 
                    
                 
                
 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号