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

相关推荐

  • rrdtool学习笔记

    一、前言 为了做云缓存平台的技术储备,从零开始学习了rrdtool,rrdtool非常强大,刚接触会有摸不着边的感觉,尤其是一堆概念性的东西。学习的切入点便是这些概念,一一理解后你才能品尝到rrdtool的清香,首先要感谢ailms整理的“RRDtool简体中文教程v1.01”,通俗易懂的概况了rrdtool的所有知识。现在整理自己在学习过程中的一些笔记。 …

    2015-03-21
  • 磁盘管理

    磁盘管理     设备文件         I/O Ports: I/O设备地址         一切皆文件:     …

    Linux干货 2016-09-01
  • Vim编辑器初步接触

    一、概要     vim(IMproved)编辑器是vi(visual interface)编辑器的增强版,它是Linux系统编辑文本文件重要的工具之一,也是最基础的编辑工具。它可以执行输出、删除、查找、替换、块操作等众多文本操作。学会它之后,你使用Linux系统的路将更加平坦。 二、使用方法   …

    Linux干货 2015-04-03
  • Linux下的查找命令

           Linux下的查找命令有很多,常用的有grep、which、whereis、locate、find。使用linux系统难免会忘记文件所在的位置,小编就是如此。所以我们在文件系统上常常需要根据文件的各种属性去查找符合条件的文件,所以小编今天特意写一篇文章来介绍一下这几个常用的查找命令。 一、Gre…

    Linux干货 2017-08-13
  • 8.16

    for 循环是相对比较简单的循环,任何一个循环里面都可以嵌套循环,用for可以解决简单逻辑上的任何循环 。 有两种基本格式:for i in " ";do         或者dor((i=0;i<=9;i++))可以嵌套if或者while等循环 if循环。最重要的是判断的条件,if意为如果什…

    Linux干货 2016-08-19
  • lvs应用

    练习一:负载均衡一个php应用: 测试是否需要会话保持; 是否需要用到共享存储;    为了检测是否需要会话保持和共享存储,要在两台主机上分别配置LAMP环境;这样就使得两者之间没有了共享存储;负载均衡使用nat模型的wlc算法,并且不使用lvs的长连接选项。数据库故意使用了相同的账号密码来进行安装。 步骤一:配置环境: 使用yum分别安…

    Linux干货 2016-11-11