Linux-通配符
# 作用:通配符主要应用匹配文件名,而正则主要应用匹配字符串
常用通配符 * ? ^ [] {} 等等
符号 作用
* 表示匹配任意字符
? 表示匹配任意一个字符
[a-z] 表示匹配a-z任意一个字母
[^ab] 表示匹配除了a或b之外的任意一个字母(取反操作)
[!ab] 表示匹配除了a或b之外的任意一个字母(取反操作)
{a,b} 表示匹配a或b(一组表达式的组合,以逗号分隔,且不能有空格)
{a..c} 表示匹配a-c任意一个字母(生成序列)
# 核查所有文件
[root@ /cdly/awk]# ls *
a_1:
a_2:
a_3:
b_1:
b_2:
b_3:
c_1:
c_2:
c_3:
# 核查以a_开头的文件
[root@ /cdly/awk]# ls a_?
a_1:
a_2:
a_3:
# 核查文件中包含a或者b的文件
[root@ /cdly/cdly]# ls [a-b]*
a_1:
a_2:
a_3:
b_1:
b_2:
b_3:
# 核查文件中不包含a或b的文件
[root@ /cdly/cdly]# ls [^a-b]*
c_1:
c_2:
c_3:
# 核查a_1,a_2两个文件
[root@ /cdly/cdly]# ls a_{1,2}
a_1:
a_2:
Linux-特殊符号 (man ascii)
\0 (ASCII: 0)匹配一个"NUL"字符,即空字符 (NULL ) (八进制:\000)
\a (ASCII: 7)匹配一个"BEL"字符,即一个"蜂鸣警告" (bell ) (八进制:\007)
\b (ASCII: 8)匹配一个"BS" 字符,即回退删除键 (BackSpace ) (八进制:\010)
\t (ASCII: 9)匹配一个"HT" 字符,即水平制表符,Tab键 (horizontal tab) (八进制:\011)
\n (ASCII:10)匹配一个"LF" 字符,即换行符 (new line ) (八进制:\012)
\v (ASCII:11)匹配一个"VT" 字符,即垂直制表符 (vertical tab ) (八进制:\013)
\f (ASCII:12)匹配一个"FF" 字符,即分页符,换页 (form feed ) (八进制:\014)
\r (ASCII:13)匹配一个"CR" 字符,即回车符 (carriage ret ) (八进制:\015)
\c 取消行末之换行符号
\E ESCAPE跳脱键
\xNN 转换NN数字成为字符
\' 在双引号里只用单引号即可
\" 双引号
\\ 反斜杠
\? 问号字符
[root@ /cdly/awk]# awk 'BEGIN{printf "test01\btest02\btest03\n" }' # 输出:test0test0test03
[root@ /cdly/awk]# awk 'BEGIN{printf "test01\ttest02\ttest03\n" }' # 输出:test01 test02 test03
[root@ /cdly/awk]# awk 'BEGIN{printf "test01\vtest02\vtest03\n" }' # 每个字段后面使用垂直制表符
test01
test02
test03
[root@ /cdly/awk]# awk 'BEGIN{printf "test01\rtest02\rtest03\n" }' # 输出:test03 (在当前打印的字段的基础上,打印下一个字段;这就意味着,最后只能看到"test03"因为其他的字段都被覆盖掉了)