linux特殊字符
linux特殊字符:
* 匹配文件名中的任何字符串,包括空字符串。
? 匹配文件名中的任何单个字符。
[...] 匹配[ ]中所包含的任何字符。
[!...] 匹配[ ]中非感叹号!之后的字符。
当shell遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样用户就可以用它们来匹配相应的文件名。
1.1 使用*
*代替文件后面的内容
$ ls
1.txt 2.txt log.file
$ cat l*
1.2 使用?
f??*s匹配所有以f开头、中间是任意两个字符、后面跟随任意字符串、并以s结尾的文件名:
1.3 [...] 与[!...]
使用[...]可以用来匹配方括号[ ]中的任何字符。在这一方法中,还可以使用一个横杠-来连接两个字母或数字,以此来表示一个范围。
列出了以l或2开头的文件名
$ ls [l2]*
2.txt log.file
为了匹配所有以数字开头然后可以是任意字符串的文件名,可以用[0-9]*,其中[0-9]表示任意单个数字,星号*代表了其他字符:
$ ls [0-9]*
1. txt 2.txt
使用[!0-9 ] *来表示非数字开头的字符串,其中!是非的意思:
$ ls [!0-9]*
log.file
[a-z]* 以小写字母开头
[A-Z]*以大写字母开头