bash基础特性之globbing,即文件名通配:
    文件名通配:使用元字符匹配字符
        *:匹配任意长度的任意字符
            假如文件名为paaaa,则pa*,*pa*,*pa,p*a,*p*a
           
        ?: 匹配任意单个字符
       
        []: 匹配指定集合内的任意单个字符,必须是集合内的一个字符。
            [0-9]: 任意数字
            [a-z]: 任意小写字母
            [A-Z]: 任意大写字母
            [0-9a-zA-Z]: 所有字母和数字 [[:alnum:]]
            p[mn]: pm或者pn
           
        [^]: 匹配指定集合外的任意单个字符,必须是集合外的一个字符。
            p[^m-z]*
           
        字符集合:只取一个
            [:space:] 所有空白字符 [[:space:]]
            [:punct:] 所有标点符号
            [:lower:] 所有小写字母
            [:upper:] 所有大写字母
            [:digit:] 所有数字
            [:alpha:] 所有字母
            [:alnum:] 所有字母和数字

练习1:显示/var目录下所有l开头,以一个小写字母结尾,且中间出现一位数字的文件或目录;
        # ls -d /var/l*[[:digit:]]*[[:lower:]]
    练习2:显示/etc/目录下,以任意一位数字开头,且以非数字结尾的文件或目录;
        # ls -d /etc/[0-9]*[^0-9]
    练习3: 显示/etc/目录下,以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录;
        # ls -d /etc/[^[:alpha:]][[:alpha:]]*
    练习4:复制/etc/下,所有以m开头,以非数字结尾的文件或目录至/tmp/mageedu目录中;
        # mkdir /tmp/mageedu
        # cp -a /etc/m*[^0-9] /tmp/mageedu/
    练习5:复制/etc目录下,所有以.d结尾的文件或目录至/tmp/mageedu2目录中;
        # mkdir /tmp/mageedu2
        # cp -a /etc/*.d /tmp/mageedu2/
    练习6:复制/etc目录下,所有以.conf结尾,以m,n,r,p开头的文件或目录至/tmp/mageedu3目录中;
        # mkdir /tmp/mageedu3
        # cp -a /etc/[mnrp]*.conf /tmp/mageedu3

bash文件名统配的更多相关文章

  1. bash 文件名操作 常用方法

    参考链接: http://www.jb51.net/article/51592.htm 查找文件不获取路径: find $1 -name '*.bin' -exec basename {} \;

  2. 04 bash程序的基本特性

    我们知道Linux系统有两种操作方式,一种为GUI的图形界面化管理方式,其中图形程序常见的有Gnome.KDE.xfce:另一种管理方式就是就是GLI的命令行管理方式,而命令行的管理方式就是通过she ...

  3. Shell基础-ech0,cat,history,alias,unalias,bash快捷键,wc,执行结果写入文件

    1 系统所支持的shell存放于 /etc/shells 文件中,shell脚本的开头 #!/bing/bash 是指定使用的脚本类型 不能省略,省略之后有些文件可以执行,但容易出错 这行不是注释 2 ...

  4. Bash 翻译

    Bash参考手册 目录 1简介 1.1什么是Bash? 1.2什么是shell? 2定义 3基本外壳功能 3.1 Shell语法 3.1.1外壳操作 3.1.2报价 3.1.2.1逃逸角色 3.1.2 ...

  5. Shell与Bash

    1:Shell编程的本质 Shell的意思是“壳程序”,它是一个视窗,供我们交互. 系统中有许多负责不同功能的可执行文件,他们被添加到PATH变量后,我们就可以在Shell中通过命令行调用.这些这些可 ...

  6. 第三周LINUX学习笔记

    周期性任务丶find 文件查找:find命令 locate :在数据库中查找,非实时查找,精确度不高,查找速度快,模糊查找  /tmp/passwad/a.textfind:实时查找:速度慢  ,精确 ...

  7. linux笔记_day05

    1.bash以及特性 shell:外壳 GUI:KDE,Gnome,Xfce CLI:sh,csh,ksh,bash(born again shell) 进程:在每个进程看来,当前主机上只存在内核和当 ...

  8. Linux 新手的学习笔记

    系统分区: MBR分区(主分区不超过4个,单个分区不超过2TB) fdisk -l fdisk /dev/sdb n(添加一个分区)p(添加一个主分区,主分区)e(添加一个扩展分区)l(添加一个逻辑分 ...

  9. Linux Shell 脚本调试

    方法如下所示:(1) 使用选项–x,启用shell脚本的跟踪调试功能: $ bash -x script.sh 运行带有-x标志的脚本可以打印出所执行的每一行命令以及当前状态.注意,你也可以使用sh ...

随机推荐

  1. [已读]编写高质量代码--Web前端开发修炼之道

    我觉得还蛮实用的一本,推荐看看,主要涉及到这些: 标签语义化.css模块化. css的一些东西,比如haslayout 文档流,还有如何实现水平.垂直居中. js代码组织与js分层.js压缩 编码规范 ...

  2. yii2 加载静态资源

    1.在 assets/AppAsset 里定义方法 <?php /** * @link http://www.yiiframework.com/ * @copyright Copyright ( ...

  3. 单线程单元(STA)线程都应使用泵式等待基元

    CLR 无法从 COM 上下文 0x20ad98 转换为 COM 上下文 0x20af08,这种状态已持续 60 秒.拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows ...

  4. SQL server事务语法

    ALTER proc [dbo].[p_BOGetMCBSecurityCheckPropertiesTypeAdd]@Name nvarchar(50),    ---参数@MCBBadlyBuil ...

  5. spring boot & mybatis集合的坑

    因为是使用的mybatis逆向工程自动生成的实体类和dao层,然后在读取某一个表的content字段时出现问题. 问题描述:在mysql数据库里可以直接查询到这个字段的内容,但是使用java相关的方法 ...

  6. nuget用法

    Update-Package -reinstall -ProjectName Cardin.HeartCare.Service.ChatService

  7. Oracle中查询和定位数据库问题的SQL语句

    --1)查询和定位数据库问题的SQL语句--Oracle常用性能监控SQL语句.sql --1查询锁表信息 select vp.SPID, vs.P1, vs.P1RAW, vs.P2, vs.EVE ...

  8. 如何在ABAP里用函数式编程思想打印出非波拉契Fibonacci(数列)

    在JavaScript里可以用ES6提供的FunctionGenerator这种黑科技来打印非波拉契数列,具体细节参考我这篇文章. 在ABAP里也有很多种方式实现这个需求. 下面这个report分别用 ...

  9. Higher level thinking

    「Higher level thinking」-- 出自 Ray Dalio 的<Principles>(PDF 原文:Principles by Ray Dalio) Higher le ...

  10. jni 修bug

     1. ReferenceTable overflow (max=512)  内存泄露,程序运行一段时间就挂掉了. 在利用反射调用java中的函数需要释放掉查找到的类 void publishJava ...