Unix_07_文件系统高级操作_2

8.5  文件名替换    p168

      shell的文件替换元字符

  字符     功能说明

--------------------------------------------------------

  ?       匹配单个字符

  *       匹配任意字符串,包括空串

  [list]     匹配作一在list中指定的字符

  [! list]     匹配作一不在list中指定的字符

--------------------------------------------------------

说明:文件替换元字符(通配符)在创建搜索模式时可以用在任何部分---文件名的开头、中间或末尾

设当前目录下有 test1 test2 test3 test 1test 2test test32几个文件

(元字符的用法类似以前的DOS命令中的用法)

1  ? 元字符 

例:  $ls -p [return] .....................................  列表当前目录

   1test 2test aa/ bb/  test test1 test2 test3 ...  显示当前目录下有两个子目录及若干文件

    $ls test? [return] ................................  文件名最后用一个问号,意最后可以是任意"一个"字符

   test1 test2 test3 ....................................  显示符合条件的文件

    $ls test?? [return] ...............................  文件名后面用两个问号,最后可以是任意“两个”字符

   test32 ..................................................  显示符合条件的文件

    $ls ?test [return] ................................  文件名前面用一个问号,第一个字符可以是任意字符

   1test 2test ...........................................  显示符合条件的文件

    $ .......................................................  命令提示符

2  * 元字符

  shell将它解释为在文件名中替换为“任意个“字符(包括0个字符)。

  例: $ls test* [return] .................................  显示test及后面为任意字符的文件,包括test文件

      test test1 test2 test3 test32 ....................  显示符合条件的文件,注意与问号的区别,列表中包含testtest32 

    $ls *test [return] .................................  在文件名前加星号,显示最后包含test的文件,包括test

   1test 2test test .......................................   显示符合条件的文件

    $ls *2 [return] .....................................  列表最后一个字符为2的文件

   test2 test32 ...........................................  显示符合条件的文件

    $ .......................................................  命令提示符

3   [ ] 元字符

  例: $ls [12]* [return] ..............................   显示开头字符为1或2的文件

    1test 2test ..........................................  显示符合条件的文件

     $ls [!12]* [return] ..............................  显示开头不包含1或2字符的文件

    test test1 test2 test3 test32 ..................  显示符合条件的文件,在苹果的macbook OS中,些命令把aa/bb/子目录中符合条件的文件也列出来了。

     $ls *[1-32] [return] ...........................  可以用[]指定字符或数字范围,如[5-8]表示5、6、7、8; [a-z]表示所有小写字母

    test1 test2 test3 test32 ........................  显示符合条件的文件

     $ ......................................................  命令提示符

4  元字符和隐藏文件

  使用元字符显示隐藏文件,必须显式地将"." (点)作为指定模式的一部分

  例: $ls -p .* [return] .................................  显示所有隐藏文件,注意点号与星号之间没有间隔

    .hTest .................................................  假设当前目录下有一个.hTest隐藏文件

     $ .......................................................  命令提示符  

 

原文地址:https://www.cnblogs.com/cnyxj/p/4550322.html