Linux 通配符、特殊符号

时间:2022-11-06 15:59:17

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"因为其他的字段都被覆盖掉了)