8.5 文件名替换 p168
shell的文件替换元字符
字符 功能说明
--------------------------------------------------------
? 匹配单个字符
* 匹配任意字符串,包括空串
[list] 匹配作一在list中指定的字符
[! list] 匹配作一不在list中指定的字符
--------------------------------------------------------
说明:文件替换元字符(通配符)在创建搜索模式时可以用在任何部分---文件名的开头、中间或末尾
设当前目录下有 test1 test2 test3 test 1test 2test test32几个文件
(元字符的用法类似以前的DOS命令中的用法)
1 ? 元字符
例: $ls -p [return] ..................................... 列表当前目录
1test 2test aa/ bb/ test test1 test2 test3 ... 显示当前目录下有两个子目录及若干文件
$ls test? [return] ................................ 文件名最后用一个问号,意最后可以是任意"一个"字符
test1 test2 test3 .................................... 显示符合条件的文件
$ls test?? [return] ............................... 文件名后面用两个问号,最后可以是任意“两个”字符
test32 .................................................. 显示符合条件的文件
$ls ?test [return] ................................ 文件名前面用一个问号,第一个字符可以是任意字符
1test 2test ........................................... 显示符合条件的文件
$ ....................................................... 命令提示符
2 * 元字符
shell将它解释为在文件名中替换为“任意个“字符(包括0个字符)。
例: $ls test* [return] ................................. 显示test及后面为任意字符的文件,包括test文件
test test1 test2 test3 test32 .................... 显示符合条件的文件,注意与问号的区别,列表中包含test和test32
$ls *test [return] ................................. 在文件名前加星号,显示最后包含test的文件,包括test
1test 2test test ....................................... 显示符合条件的文件
$ls *2 [return] ..................................... 列表最后一个字符为2的文件
test2 test32 ........................................... 显示符合条件的文件
$ ....................................................... 命令提示符
3 [ ] 元字符
例: $ls [12]* [return] .............................. 显示开头字符为1或2的文件
1test 2test .......................................... 显示符合条件的文件
$ls [!12]* [return] .............................. 显示开头不包含1或2字符的文件
test test1 test2 test3 test32 .................. 显示符合条件的文件,在苹果的macbook OS中,些命令把aa/bb/子目录中符合条件的文件也列出来了。
$ls *[1-32] [return] ........................... 可以用[]指定字符或数字范围,如[5-8]表示5、6、7、8; [a-z]表示所有小写字母
test1 test2 test3 test32 ........................ 显示符合条件的文件
$ ...................................................... 命令提示符
4 元字符和隐藏文件
使用元字符显示隐藏文件,必须显式地将"." (点)作为指定模式的一部分
例: $ls -p .* [return] ................................. 显示所有隐藏文件,注意点号与星号之间没有间隔
.hTest ................................................. 假设当前目录下有一个.hTest隐藏文件
$ ....................................................... 命令提示符