shell 通配符

shell命令通常也会和一些通配符搭配使用。如显示一个目录下所有的.c文件:

zhaixue@ubuntu:/home/makefile$ ls
demo  hello.c  makefile  module.c  module.h
zhaixue@ubuntu:/home/makefile$ ls *.c
hello.c  module.c

“*”可以匹配任意个字符,“*.c”可以匹配所有以.c为后缀的文件。

“^m”匹配所有以m开头的,“$m”匹配所有以m结尾的行,“^$”匹配空白行

“?”可以匹配任意一个字符,

zhaixue@ubuntu:/home/makefile$ ls
demo  hello.c  makefile  module.c  module.h
zhaixue@ubuntu:/home/makefile$ ls module.?
module.c  module.h
zhaixue@ubuntu:/home/makefile$

“[]”用来匹配中括号中指定的任意一个字符,lesson[0-9]可以匹配lesson0、lesson1、…、lesson0

“[\^1-2]”用来匹配括号中指定字符以外的其他字符

zhaixue@ubuntu:/home/demo$ ls
lesson1.c  lesson2.c  lesson3.c
zhaixue@ubuntu:/home/demo$ ls lesson[1-2].c
lesson1.c  lesson2.c
zhaixue@ubuntu:/home/demo$ ls lesson[^1-2].c
lesson3.c
《Linux三剑客》视频教程:Linux下开发工具vim、Git、Makefile、autotools、qemu、debug精讲,从零开始一步一步写项目的Makefile,提供企业级Makefile模板,Git操作实战,vim从新手到高手,一步一步打造类似Source Insight的IDE!详情点击:王利涛老师个人淘宝店:Linux三剑客