linux文件名通配

通配符是一种特殊语句,用来模糊搜索文件。当查找文件夹或目录时,可以使用它来代替一个或多个真正字符

通配符:
        *: 匹配任意长度的任意字符(包令0个字符)

        [[email protected] tt]# ls
                ab  abb  abc  abm  xab  # 如有文件
        [[email protected] tt]# ls ab*
            ab  abb  abc  abm    # 匹配以ab开头后面跟着任意字符
        [[email protected] tt]# ls *ab
            ab  xab              # 匹配以ab结尾
        [[email protected] tt]# ls *ab*
            ab  abb  abc  abm  xab    #匹配包含ab的文件

?:匹配任意单个字符

       [[email protected] tt]# ls a?
            ab

[ ]: 匹配指定字符范围内的任意单个字符,通配符本身不会匹分大小写的这一点要注意到。

        [xyz]    # 匹配xyz

        [a-z]    # 匹配a-z的字母集

        [A-Z]   # 匹配大写字母集

        [0-9]   # 匹配数字

        [0-9a-zA-Z]   # 匹配数字大小写字母

        [[email protected] tmp]# ls a[0-9]*
        a1b  a2b  a3b  a4b  a5b  a6b  a7b  a8b  a9b

建议使用POSI规范来匹配,如下的字符集可以匹分大小写
        [[:upper:]]    所有大写字母
        [[:lower:]]    小写字母
        [[:alpha:]]    大小写字母集
        [[:digit:]]      数字
        [[:alnum:]]   包含数字和字母表
        [[:space:]]    空格
        [[:punct:]]    标点符号

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

  [[email protected] tmp]# rm -rf ./[^my]*   # 删除当前目录中非my开头的文件,后面用了*号来表示后面不管是什么结尾
  [^0-9]  # 非数字以外的任意字符
  [^[:digit:]]  # 如果是字符集请用这种写法
时间: 2024-10-28 10:44:52

linux文件名通配的相关文章

linux文件管理类命令,类型,用户的权限管理及bash shell的特性:命令别名,文件名通配

文件管理类命令 ls 查看 :cat tac more less head tail 复制:cp -r:递归 -i:提示,交互 -f:强制覆盖 -a :保留所有文件信息 -d:当源为链接文件时,复制链接本身,而非源文件 -p:保持原有属性 删除 : rm 删除非空目录 rm -rf 移动 : mv 创建 : touch 用来修改时间戳,创建空文件 -c:不创建新文件,只修改时间戳 -a:仅修改访问时间 -m:修改修改时间 -t:指定时间戳 先加-m再加-t后跟时间 元数据属性:stat 显示文件

Linux基础之ls与文件名通配详解

ls应该是我们最熟悉的指令之一,通常进入命令行,少不了就要ls一下. 虽然它是一个很基本很常用的命令,不过它的功能也很丰富,熟练使用它可以更加辨别我们看我们想要看到的文件信息. 本文ls介绍基于CentOS7.2环境,后面的实验均在此环境下实现. ls命令介绍 [[email protected] ~]# man ls LS(1)                            User Commands                           LS(1) NAME      

正则表达式,文件名通配,扩展正则之间的一些异同

正则表达式是一个神器,但初学linux时候还有文件名通配这样的东东.今天就总结一下文件名通配,正则表达式,扩展正则表达式之间有什么异同.可能写的不全,求指教. 使用方面: 正则多用来匹配过滤文本内容. 文件名通配符则用来匹配文件名较多. 支持命令: 文件处理,查看cp find ls rm mv touch 等一系列的文件匹配查找命令.(和上面说的是一个意思) 正则表达式则用在文本内容处理的各种工具grep,awk,sed,vim末行模式等. 匹配功能上正则规矩多,自然能力更强大,所以就这的区别

bash的基本特性之文件名通配 及IO重定向,管道详解

本篇博文依然涉及到bash的基本特性 文件名通配,并讲解IO重定向以及管道的使用 管道配合tr命令的应用 bash的基础特性之一:文件名通配 globbing:文件名通配(整体文件名匹配,而非部分) 匹配模式:元字符 *:匹配任意长度的任意字符 pa*,*pa*,*pa,*p*a* ?:匹配任意单个字符 pa?,??pa,p?a,p?a? []:匹配指定范围内的任意单个字符 有几种特殊字符: [a-z],[A-Z],[0-9],[a-z0-9] [[:upper:]]:所有大写字母 [[:low

文件名通配

命令别名 alias cls='clear' 在shell中定义的别名仅在当前shell生命周期中有效: 别名的有效范围:当前shell进程 unalias cls \CMD 使用命令本身 命令替换 $(pwd) , 反引号:`pwd` 把命令中某个子命令替换为其执行结果的过程 echo "The current directory is $(pwd)." touch ./file-$(date +%F-%H-%M-%S).txt bash支持的引号: ``:命令替换 "&q

Linux里的文件名通配-* ? [] [^] {}

写这篇文章的目的是为了说明Linux系统里文件名匹配时要用的特殊字符 特别注意:要与正则表达式区分开来. 正则表达式见我另外一篇文章: http://afterdawn.blog.51cto.com/7503144/1855128 匹配模式:元字符 *:匹配任意长度的任意字符 pa*, *pa*, *pa, *p*a* pa, paa, passwd ?:匹配任意单个字符 pa?, ??pa, p?a, p?a? pa, paa, passwd []:匹配指定范围内的任意单个字符 有几种特殊格式

linux-bash文件名通配

通配符列表: *:任意长度的任意字符 ?:任意单个字符 注释:?代表任意单个字符,所以此处的abc,acc,a98c不能匹配出. []:匹配指定范围内的任意单个字符,常用的有[a-z],[0-9],[A-Z] [^]:配置指定范围以外的任意单个字符,类似于取反 注释:[^a-z]:只要不是小写字母的都算.因匹配单个字符,所以匹配到的是"a98c" 常用字符集合:均只匹配单个 [:space:]:所有空白字符 [:punct:]:所有标点符号 [:lower:]:所有小写字母 [:upp

linux学习14 Linux运维高级系统应用-glob通配及IO重定向

一.回顾 1.bash基础特性:命令补全,路径补全,命令引用 2.文件或目录的复制,移动及删除操作 3.变量:变量类型 存储格式,数据表示范围,参与运算 二.bash的基础特性 1.globbing:文件名通配(整体文件名匹配,而非部分) a.匹配模式:元字符 *:匹配任意长度的任意字符 pa*,*pa* ?:匹配任意单个字符,不管是什么必须得有一个 pa?: ??pa: p?a: p?a?: []:匹配指定范围内的任意单个字符 有几种特殊格式: [a-z],[A-Z],[0-9],[a-z0-

linux文件名匹配——通配符使用

背景:在linux使用过程中,经常需要查找文件,对命令中的通配符pattern和正则表达式的区分不是很清楚.有必要好好研究一下. 1 扫盲 1.1 通配符和正则表达式 当在使用命令行时,有很多时间都用来查找你所需要的文件,如ls find等. S h e l l提供了一套完整的字符串模式匹配规则,或者称之为元字符,当s h e l l遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样用户就可以用它们来匹配相应的文件名,我理解这可以称为通配符. 通配符与正则表达式是有区别的,简