路径名扩展(通配符)

路径名匹配功能,也叫通配(globbing)。

常用模式

模式 匹配项
?, * 任一字符,任何零个或更多字符组成的字符串
~, ~username 当前用户的主目录,username用户的主目录
~+, ~- 当前工作目录,上一个工作目录
[abc], [!abc]或[^abc] abc中任一字符,不包含abc中任一字符
[:alpha:], [:alnum:] 任何字母字符,任何字母字符或数字
[:lower:], [:upper:] 任何小写字符,任何大写字符
[:digit:] 任一数字,即0-9
[:space:] 任一空白字符,如制表符、换行符、回车符、换页符、空格等

技巧1:大括号扩展

echo {Sunday, Monday, Tuesday, Wednesday}.log 
echo file{1..3}.txt # file1.txt file2.txt file3.txt
echo file{a..c}.txt
echo file{a, b}{1, 2}.txt  # 4 files
echo file{a{1, 2}, b, c}.txt # 4 files: filea1.txt filea2.txt fileb.txt filec.txt 

技巧2:命令替换(``和$)

用输出替换命令本身。

echo Today is `date +%A`
echo The time is $(date +%M) minutes past $(date +%1%p)
echo $host

你可能感兴趣的:(路径名扩展(通配符))