Linux的那些事儿(9)----Linux文件名置换
2009-05-18 10:03
246 查看
当你在使用命令行时,有很多时间都用来查找你所需要的文件。Shell提供了一套完整的字符串模式匹配规则,或者称之为元字符,这样你就可以按照所要求的模式来匹配文件。还可以使用字符类型来匹配文件名。在命令行方式下,使用元字符更为快捷。一下列出几种用于文件名置换的方法。
1、使用*
使用星号*可以匹配文件名中的任何字符串。
(1)在下面的例子中,我们给出文件名模式app*,它的意思是文件名以app开头,后面可以跟随任何字符串,包括空字符串:
$ ls app*
appdva applsd appui
appl
(2)*也可以用在文件名模式的开头,在下面的例子中, * . d o c匹配所有以. d o c结尾的文件名:
$ ls *.doc
1.doc 2.doc dfs.doc
(3)在使用c d命令切换路径时,使用星号还可以省去输入整个路径名的麻烦,下面给出一个这样的例子:
$ pwd
$ /etc
$ ls -l |grep ^d
……
$ cd cron.w*
$ pwd
$ /etc/cron.wdf
2、使用?
使用可以匹配文件名中的任何单个字符。在下面的例子中,我们列出文件名以任意两个字符开头,接着是R,后面跟任何字符的文件:
(1)在下面的例子中,我们列出文件名以conf开头、中间是任意两个字符、最后以.log结尾的文件:
$ ls conf.??.log
(2) 在下面的例子中, f??*s匹配所有以f开头、中间是任意两个字符、后面跟随任意字符串、并以s结尾的文件名:
$ ls f??*s
3、使用[…][!…]
使用[…]可以用来匹配方括号[ ]中的任何字符。在这一方法中,还可以使用一个横杠-来连接两个字母或数字,以此来表示一个范围。在下面的例子中,列出了以i或o开头的文件名:
$ ls [io]*
$ inetd.ds odsf.txt
为了匹配所有以log.开头、后面跟随一个数字、然后可以是任意字符串的文件名,可以用log.[0-9]*,其中[0-9]表示任意单个数字,星号*代表了其他字符:
$ ls log.[0-9]*
4、总结
使用元字符可以大大减少你在查找文件名上的工作量。这是一种非常有效的模式匹配方法
1、使用*
使用星号*可以匹配文件名中的任何字符串。
(1)在下面的例子中,我们给出文件名模式app*,它的意思是文件名以app开头,后面可以跟随任何字符串,包括空字符串:
$ ls app*
appdva applsd appui
appl
(2)*也可以用在文件名模式的开头,在下面的例子中, * . d o c匹配所有以. d o c结尾的文件名:
$ ls *.doc
1.doc 2.doc dfs.doc
(3)在使用c d命令切换路径时,使用星号还可以省去输入整个路径名的麻烦,下面给出一个这样的例子:
$ pwd
$ /etc
$ ls -l |grep ^d
……
$ cd cron.w*
$ pwd
$ /etc/cron.wdf
2、使用?
使用可以匹配文件名中的任何单个字符。在下面的例子中,我们列出文件名以任意两个字符开头,接着是R,后面跟任何字符的文件:
(1)在下面的例子中,我们列出文件名以conf开头、中间是任意两个字符、最后以.log结尾的文件:
$ ls conf.??.log
(2) 在下面的例子中, f??*s匹配所有以f开头、中间是任意两个字符、后面跟随任意字符串、并以s结尾的文件名:
$ ls f??*s
3、使用[…][!…]
使用[…]可以用来匹配方括号[ ]中的任何字符。在这一方法中,还可以使用一个横杠-来连接两个字母或数字,以此来表示一个范围。在下面的例子中,列出了以i或o开头的文件名:
$ ls [io]*
$ inetd.ds odsf.txt
为了匹配所有以log.开头、后面跟随一个数字、然后可以是任意字符串的文件名,可以用log.[0-9]*,其中[0-9]表示任意单个数字,星号*代表了其他字符:
$ ls log.[0-9]*
4、总结
使用元字符可以大大减少你在查找文件名上的工作量。这是一种非常有效的模式匹配方法
相关文章推荐
- Linux_shell_文件名置换
- 《LINUX与UNIX_Shell编程指南》读书笔记第4章文件名置换
- Linux那些事儿 之 戏说USB(26)设备的生命线(五)
- Linux signal 那些事儿(2)
- Linux的那些事儿(2)----vi的使用
- Linux那些事儿之我是U盘(39)彼岸花的传说(七)
- Linux那些事儿之我是U盘(50)跟着感觉走(二)
- Linux中如何批量截短文件名?
- Linux 学习解决归档管理器打开rar和zip中文文件名乱码问题
- Linux那些事儿之我是Hub(6)probe,又见probe!
- Linux关于添加硬盘的那些事儿:笔记
- [Linux文件]使用当前时间信息作为文件名来创建文件
- JAVA生成文件在linux下文件名乱码
- Linux 批量创建文件,文件名随机取
- Linux那些事儿之我是Sysfs(2)linux设备底层模型
- find命令,文件名后缀,Linux和window互传文件
- Linux的那些事儿(6)----Linux编程之文件和目录
- Linux那些事儿之我是Hub(17)八大重量级函数闪亮登场(一)
- Linux那些事儿之我是Sysfs(8)一起散散步-pathwalk
- 输出某个文件夹下面的所有文件名 后缀 及路径(linux)