Linux的那些事兒(9)—-Linux檔案名稱置換

來源:互聯網
上載者:User

當你在使用命令列時,有很多時間都用來尋找你所需要的檔案。Shell提供了一套完整的字串模式比對規則,或者稱之為元字元,這樣你就可以按照所要求的模式來匹配檔案。還可以使用字元類型來匹配檔案名稱。在命令列方式下,使用元字元更為快捷。一下列出幾種用於檔案名稱置換的方法。

1、使用*

使用星號*可以匹配檔案名稱中的任何字串。

(1)在下面的例子中,我們給出檔案名稱模式app*,它的意思是檔案名稱以app開頭,後面可以跟隨任何字串,包括Null 字元串:

$ ls app*

appdva  applsd appui

appl

(2)*也可以用在檔案名稱模式的開頭,在下面的例子中, * . d o c匹配所有以. d o c結尾的檔案名稱:

$ ls *.doc

1.doc 2.doc dfs.doc

(3)在使用c d命令切換路徑時,使用星號還可以省去輸入整個路徑名的麻煩,下面給出一個這樣的例子:

$ pwd

$ /etc

$ ls -l |grep ^d

……

$ cd cron.w*

$ pwd

$ /etc/cron.wdf

2、使用?

使用可以匹配檔案名稱中的任何單個字元。在下面的例子中,我們列出檔案名稱以任意兩個字元開頭,接著是R,後面跟任何字元的檔案:

(1)在下面的例子中,我們列出檔案名稱以conf開頭、中間是任意兩個字元、最後以.log結尾的檔案:

$ ls conf.??.log

(2) 在下面的例子中, f??*s匹配所有以f開頭、中間是任意兩個字元、後面跟隨任一字元串、並以s結尾的檔案名稱:

$ ls f??*s

3、使用[…][!…]

使用[…]可以用來匹配方括弧[ ]中的任何字元。在這一方法中,還可以使用一個橫杠-來串連兩個字母或數字,以此來表示一個範圍。在下面的例子中,列出了以i或o開頭的檔案名稱:

$ ls [io]*

$ inetd.ds odsf.txt

為了匹配所有以log.開頭、後面跟隨一個數字、然後可以是任一字元串的檔案名稱,可以用log.[0-9]*,其中[0-9]表示任意單個數字,星號*代表了其他字元:

$ ls log.[0-9]*

4、總結

使用元字元可以大大減少你在尋找檔案名稱上的工作量。這是一種非常有效模式比對方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.