linux操作系统教程 Linux教程 [12]使用通配符来操作文件

一、通配符的基本含义

bash?支持使用通配符(globbing)。掌握通配符,对于我们灵活运用bash?脚本有很大的帮助。 最常用的通配符有以下四种:

*:表示任意长度的任意字符;

?:表示任意的单个字符;

[]:表示在指定范围内的单个字符:[a-z];

[^]:脱字符,是取反的意思,即在指定范围以外的任意字符,如?[^0-9]表示除数字以外的一切字符。

下面举几个例子来演示如何使用通配符:

1.复制?/etc下所有以i?开头的文件:

# cp -v /etc/i* /tmp

# ls /tmp

2.复制?/etc?下所有以.conf?结尾的文件:

# cp -v /etc/*.conf /tmp

# ls /tmp

3.复制?/etc?下以i开头,以.conf结尾的文件:

# cp -v /etc/i*.conf /tmp

# ls /tmp

4.复制?/etc?下以i?开头,以.conf结尾,中间包含一个任意字符的文件:

? # cp -v /etc/i?.conf /tmp

# ls /tmp

5.?复制?/etc?下以i?开头,以.conf结尾,中间包含以a、b、c、d中任意一个字母开头的文件:

? # cp -v /etc/i[abcd]*.conf /tmp

linux操作系统教程 Linux教程 [12]使用通配符来操作文件

? # ls /tmp

6.复制?/ect?下以一个非数字字符和一个数字组合命名的文件

? ? ? # cp -v /etc/[^0-9][0-9] /tmp

? ? ? # ls /tmp

7.复制?/etc?下以p开头,中间跟了任意字符,并以?d?结尾的文件

? # cp -vr /etc/p*d /tmp

? ? ? # ls /tmp

如果文件在?/etc的子目录中,则可以采用递归的方式复制

8.复制?/etc?下以p开头,后跟了4个任意字符,以d结尾的文件至?/tmp/a?中,若a不存在,则先创建a目录:

? ? ? # mkdir /tmp/a; cp -vr /etc/p????d /tmp/a

? # ls /tmp/a

注意:多条命令可以一起执行,中间用分号隔开。

9.复制?/etc?下以任意一个非数字开头,以数字结尾的文件至?/tmp/b中:

# mkdir /tmp/b; cp -vr /etc/[^0-9]*[0-9] /tmp/b

# ls /tmp/b

10.复制?/etc?下以非字母开头,后面跟了一个字母,及任意长度的字符文件至?/tmp/c?中:

# mkdir /tmp/c; cp -vr /etc/[^a-zA-Z][a-zA-Z]* /tmp/c

二、其他通配符

除上述四种常用的通配符以外,还有一些在实际工作中会经常用到的通配符,列举如下:

[:digit:]?表示所有的数字,相当于0-9

如果写成[[:digit:]],?则等同于[0-9],?表示从0-9?这9个数字中任选一个:

# ls /tmp/*[0-9]

# ls /tmp/*[[:digit:]]

[:lower:]?表示所有的小写字母

[:upper:]?表示所有的大写字母

注意:?[a-z]?和?[A-Z]?其实是不区分大小写的,如下述例子可以看出差别:

# ls /etc/[a-z]*.conf

# ls /etc/[[:lower:]]*.conf

# ls /etc/[A-Z]*.conf

# ls /etc/[[upper:]]*.conf

[:alpha:]?表示所有的字母,如:

# ls /etc/p[[:alpha:]]*.conf

[:alnum:]?相当于[0-9a-z],?如:

# ls /etc/p[[:alnum:]]*.conf

[:space:]?相当于空白字符,如:

Linux教程:[12]使用通配符来操作文件_linux通配符

# touch /tmp/’a b’

# ls /tmp/[a-z][[:space:]][a-z]

[:punct:]?表示所有的标点符号,如

# touch /tmp/’a!b’

# ls /tmp/[[:alnum:]][:punct:][[:alnum:]]

  

爱华网本文地址 » http://www.aihuau.com/a/8104370103/254440.html

更多阅读

Excel技巧之——巧用含通配符的查找 word查找替换通配符

Excel技巧之——巧用含通配符的查找——简介在使用excel中,不但可以根据用户输入的内容进行精确查找,还可以使用包含通配符的模糊查找,在excel中所支持的通配符包括两个:星号*和问号?,其中*可代替任意数目的字符,可以是单个字符也可以是多

1. bash简介及通配符、扩展通配符 bash for i in 1 100

当我们执行一些命令的时候,很多的命令是由bash提供的。如果我们想知道某个命令是否是由bash内置的命令的话,我们可以使用typebash内置命令:bash 通配符 扩展通配符 rhce学习bash linux shell shell编程 shell脚本typefcalias如果想让我

Word中通配符怎么用 word公文格式

Word中通配符怎么用?使用MicrosoftWord可以查找和替换文字、格式、段落标记、分页符(分页符:上一页结束以及下一页开始的位置。MicrosoftWord可插入一个“自动”分页符(或软分页符),或者通过插入“手动”分页符(或硬分页符)在指定位置强制分

教你妙用WORD通配符批量删除括号及其内容 文件名批量去括号

相信大家都遇到过长篇的WORD文档中,有时需要将括号、中括号等类似的内容删除,如果一个一个的删除,相信每人有这个功夫,但是,WORD提供的查找替换功能,尤其是通配符的配合,将起到事半功倍的效果,具体操作过程如下:1、删除中括号及其包含内容

声明:《linux操作系统教程 Linux教程 [12]使用通配符来操作文件》为网友暖意序言分享!如侵犯到您的合法权益请联系我们删除