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.www58058.com/92058

(0)
eighteenxueighteenxu
上一篇 2018-03-11
下一篇 2018-03-11

相關推薦

  • 11文件查找find和locate

    有些時候我們是想要在系統中查找某個具體的文件,卻不知道路徑在哪里,只是知道其中的某些特性,比如大小或者名字什么的。這時候就要用到查找工具啦。 在文件系統上查找符合條件的文件命令有兩個,locate和find,其中locate是非實時查找即數據庫查找。而find是實時查找 locate: 用法:locate [OPTION]… [PATTERN]&…

    Linux干貨 2016-11-27
  • N21 第八周 總有刁民想害朕

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋將兩個相似的網絡連接起來,并對網絡數據的流通進行管理。它工作于數據鏈路層,不但能擴展網絡的距離或范圍,而且可提高網絡的性能、可靠性和安全性。 集線器的英文稱為“Hub”。主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。它…

    Linux干貨 2016-09-15
  • 第四周練習

    1、復制/etc/skel目錄為/home/tuser1, 要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 cp -r /etc/skel /home/tuser1 chmod -R 700 /home/tuser1 2、編輯/etc/group文件,添加組hadoop。 vi /etc/group hadoop:x:2017 …

    Linux干貨 2017-08-04
  • LB Cluster:lvs

    Linux Cluster: Cluster:計算機集合,為解決某個特定問題組合起來形成的單個系統; Linux Cluster類型: LB:Load Balancing,負載均衡; HA:High Availiablity,高可用; A=MTBF/(MTBF+MTTR) (0,1):90%, 95%, 99%, 99.5%, 99.9%, 99.99%, …

    Linux干貨 2017-06-24
  • 系統啟動這塊的一些實驗及基本內容–下

    下面我來講下grub,grub在編輯的時候可以進入一種模式就是單用戶模式,就是當grub.conf文件未寫入密碼時,普通用戶將直接忽略系統密碼進入系統,所以這可以稱為一個捷徑,也可以成為一個漏洞,當然linux的前輩們不可能連這個都想不到,他們也有自己的辦法,這就是我們grub的兩層加密機制,在選定登陸界面之前可以設置一次,啟動內核時也可以設置一次,密碼也可…

    Linux干貨 2016-09-13
  • shell腳本1

    shell腳本基礎 shell腳本: 包含一些命令或聲明,并符合一定格式的文本文件 格式要求:首行shebang機制 #!/bin/bash #!/usr/bin/python #!/usr/bin/perl shell腳本的用途有: 自動化常用命令 執行系統管理和故障排除 創建簡單的應用程序 處理文本或文件 創建shell腳本 第一步:使用文本編輯器來創建…

    2017-08-05
欧美性久久久久