linxu通配符

通配符 globbing

globbing:文件名通配(整体文件名匹配,而非部分)

匹配模式:元字符

*:匹配任意长度的任意字符

ab*:ab开头的单词

*ab*:包含ab的单词

*ab:ab结尾的单词

*a*b*:包含a、b的单词

?:匹配任意单个字符

ab?:ab开头的三个字符的单词

??ab:ab结尾四个字符的单词

a?b:a开头、b结尾三个字符的单词

a?b?:a+任意字符+b+任意字符的四个字母组成的单词

[]:匹配指定范围内的任意单个字符

当LANG=C时,[a-z]其实是a,b,c…z,所有小写字母

当LANG=utf8时,[a-z]其实是a,A,b,B,c,C…y,Y,z,包括除z意外的所有字母

[a-Z]这个集合本身代表所有字母,包括大小写。

有几种特殊格式:(当LANG=utf8)
    [a-z]:匹配字母,包括除Z意外的所有字母
    [A-Z]:匹配单个大写字母
    [0-9]:匹配数字
    [a-z0-9]:匹配任意字母或数字

    [[:upper:]]:所有大写字母
    [[:lower:]]:所有小写字母
    [[:alpha:]]:所有字母
    [[:digit:]]:所有数字
    [[:alnum:]]:所有的字母和数字
    [[:space:]]:所有空白字符
    [[:punct:]]:所有标点符号

[^]:匹配指定范围外的任意单个字符

[^]:匹配指定范围外的任意单个字符
[^[:upper:]] :非大写字母
[^0-9]:非数字
[^[:alnum:]]:非字母数字

实例

  • 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
    ls -d /var/l*[[:digit:]]*[[:lower:]]
    
  • 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
    ls -d /etc/[[:digit:]]*[^[:digit:]]
    
  • 显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
    ls -d /etc/[^[:alpha:]][[:alpha:]]*
    
  • 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
    touch /tmp/tfile-$(date  +%Y-%m-%d-%H-%M-%S)
    
  • 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
    root@localhost var]# cp -r /etc/p*[^[:digit:]] /tmp/mytest1
    
  • 复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
    cp -r /etc/*.d /tmp/mytest2/
    
  • 复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
    cp -r /etc/[mn]*.conf /tmp/mytest3

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92058

(0)
eighteenxueighteenxu
上一篇 2018-03-11 16:15
下一篇 2018-03-11 17:13

相关推荐

  • 设计模式(二)单件模式Singleton(创建型)

      几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销。再如大家最经常用的IM,如QQ,在同一台电脑,一个帐号只能有唯一的登录。 1. 问题 怎样确保一个特殊类的实例是独一无二的(它是这个类的唯一实例),并且这个实例…

    Linux干货 2015-06-24
  • Linux发展史

    一、从 Unix 到 Linux 这一段历史         早在 Linux 出现之前的二十年 ( 大约在 1970 年代 , 就有一个相当稳定而成熟的操作系统存在了!那就是 Linux 的老大哥『 Unix 』是也!怎么这么说呢?!他们这两个家伙有什么关系呀?这里就给他说一说啰!众所皆知的,Linux 的核心是由 …

    Linux干货 2016-10-14
  • php 配置

      php php不能单独使用都是与httpd结合使用 结合的方式主要是两种一种为模块方式服务于httpd,一种为单独服务方式服务httpd 两种方式不能共存 安装软件包也不相同 网上有官方中文手册 http://php.net/download-docs.php php对中文的支持需要安装php-mbstring php对mysql的支持需要安装…

    Linux干货 2016-11-01
  • 第十三周作业

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;  3)添加sa…

    Linux干货 2017-04-04
  • yum与rpm生产中最频繁使用

    yum 命令 使用方法: yum [选项] [包名称] 常用选项: install #安装软件,后面跟包名称,例如:yum install wget 安装wget软件包list #列出所有软件,一般和grep一起使用,例如:yum list | grep java ,查看所有java安装包,一般情况下不使用search,grep可以更大范围搜索包,例如只记得…

    Linux干货 2017-04-18
  • GRUB管理

    对于运维人员来说,想要熟练掌握linux,那么久要对linux的启动流程有一个详细的了解,而今天我们就一起来学习一下linux启动中最重要的一个阶段——GRUB引导阶段。 Linux启动流程 grup: GRand Unified Bootloader  由上图可知,grub属于系统启动过程中一个必须的阶段。而这个阶段又分为了三个小的阶段,分别是s…

    2017-09-02