linux中通配符種類,通配符的使用方式詳解
前言
在使用linux時(shí),往往會(huì)使用Linux built-in命令find、ls等對(duì)當(dāng)前的文件或者目錄進(jìn)行查找、顯示、檢索等,當(dāng)不知道全名,只使用其中某個(gè)或某幾個(gè)字符操作時(shí),就可以使用通配符來(lái)代替和補(bǔ)全余下對(duì)象的字符、字符串。
下文介紹了筆者工作時(shí)用到的關(guān)于通配符的相關(guān)知識(shí)和使用方法。
一、通配符、及其分類
- 關(guān)于什么通配符,下網(wǎng)頁(yè)很好的介紹了這部分內(nèi)容,不做贅述
| 簡(jiǎn)介 | path |
|---|---|
| 百度詞條 | link |
| 筆記 | Linux 通配符 與 正則表達(dá)式 的區(qū)別與詳解:link |
- 通配符知識(shí)部分總結(jié)
| 符號(hào) | 釋義 | 說(shuō)明 |
|---|---|---|
* | 表示零個(gè)或多個(gè)字符 | 下劃線’_‘、小數(shù)點(diǎn)’.‘、空格’ 也是字符,下同 |
? | 一個(gè)字符 | |
[] | 中括號(hào),匹配中括號(hào)里面字符中的任意一個(gè) | ([abc]表示可以匹配a、b和c,[abc]也是使用逗號(hào)在中括號(hào)中,[abc]等同于[a,b,c]) |
^ | 同!, 只能在中括號(hào)[]中使用,表示不匹配中括號(hào)中的任意字符 | ([!abc]表示不匹配a、b、c) |
{} | 匹配大括號(hào)中字符組合中的任何一個(gè) | ({ab,c,de}表示匹配ab、c、de中的任意一項(xiàng)){}屬于通配符么? |
字符:包括字母、數(shù)字、運(yùn)算符號(hào)、標(biāo)點(diǎn)符號(hào)和其他符號(hào),以及一些功能性符號(hào)。來(lái)自字符百度詞條 1
- 另外還有,指定匹配數(shù)字、字母(大寫,小寫)、數(shù)字或者字母、點(diǎn)或者下劃線,等:
| 符號(hào) | 釋義 | 說(shuō)明 |
|---|---|---|
| [:digit:] | 匹配數(shù)字 | 僅匹配一個(gè) |
| [:lower:] | 任意小寫字母 | 僅匹配一個(gè) |
| [:upper:] | 任意大寫字母 | 僅匹配一個(gè) |
| [:alpha:] | 任意字母 | 僅匹配一個(gè) |
| [:alnum:] | 任意一個(gè)字母或數(shù)字 | 僅匹配一個(gè) |
| [:space:] | 一個(gè)空格 | 僅匹配一個(gè) |
| [:punct:] | 表示一個(gè)符號(hào) | 可以是鍵盤上的各種符號(hào),包括但不限于@、#、_、\、(、)、^、&、~、.、?等符號(hào),但是不包括空格、數(shù)字、字母 |
注釋:
1. 以上匹配都是匹配一個(gè);
2.使用使用需要用雙中括號(hào),用這樣的形式
[[:digit:]] [[:lower:]] [[:upper:]] [[:alpha:]] [[:alnum:]] [[:space:]] [[:punct:]]
二、通配符示例、案例
使用的linux的shebang是sh或者bash,不能使用tcsh或者csh
使用的文件有:
# 查看文件 sh-4.2$ ls * 1 1#2 '1(2' '1*2' 12 '1?2' '1\2' 1_2 1~2 A A.TXT A_ '1 2' '1&2' '1)2' 1.2 '1=2' 1@2 '1^2' 1ls 2 A. A.txt
示例:
sh-4.2$ ls 1 1#2 '1(2' '1*2' 12 '1?2' '1\2' 1_2 1~2 A A.TXT A_ '1 2' '1&2' '1)2' 1.2 '1=2' 1@2 '1^2' 1ls 2 A. A.txt sh-4.2$ ls * 1 1#2 '1(2' '1*2' 12 '1?2' '1\2' 1_2 1~2 A A.TXT A_ '1 2' '1&2' '1)2' 1.2 '1=2' 1@2 '1^2' 1ls 2 A. A.txt ## [[:digit:]][[:punct:]]? 表示數(shù)字符號(hào)字符 sh-4.2$ ls [[:digit:]][[:punct:]]? 1#2 '1&2' '1(2' '1)2' '1*2' 1.2 '1=2' '1?2' 1@2 '1\2' '1^2' 1_2 1~2
### ?? sh-4.2$ ls ?? 12 A. A_
sh-4.2$ ls 1 1 sh-4.2$ ls 1* 1 '1 2' 1#2 '1&2' '1(2' '1)2' '1*2' 1.2 12 '1=2' '1?2' 1@2 '1\2' '1^2' 1_2 1ls 1~2 sh-4.2$ ls 1? 12
### []內(nèi)中字符的某一個(gè) sh-4.2$ ls [12] 1 2 sh-4.2$ ls [1A] 1 A ### [!1A]不為1和A的一個(gè)字符 sh-4.2$ ls [!1A] 2
### {}字符組合,使用逗號(hào)隔開
sh-4.2$ ls {[1A],2}
1 2 A
sh-4.2$ ls {[1A],A_}
1 A A_
sh-4.2$ ls {[[:digit:]],A_}
1 2 A_
sh-4.2$ ls {[[:digit:]][[:digit:]],A_}
12 A_### [[:alnum:]]和[a-z0-9A-Z]同義 sh-4.2$ ls [[:alnum:]] 1 2 A sh-4.2$ ls [[:upper:]] A
### sh-4.2$ ls A.[[:alpha:]][[:alpha:]][[:alpha:]] A.TXT A.txt ### . 點(diǎn)是punct中的一種,但是不包括空格 sh-4.2$ ls A[[:punct:]][[:alpha:]][[:alpha:]][[:alpha:]] A.TXT A.txt
### ?問(wèn)號(hào)可以表示一個(gè)字符 sh-4.2$ ls ???? '1 2' sh-4.2$ ls [[:digit:]][[:punct:]]? 1#2 '1&2' '1(2' '1)2' '1*2' 1.2 '1=2' '1?2' 1@2 '1\2' '1^2' 1_2 1~2 ### 空格是使用[[:space:]]來(lái)匹配 sh-4.2$ ls ?[[:space:]][[:space:]]? '1 2'
注釋:
使用[[:digit:]] [[:lower:]] [[:upper:]] [[:alpha:]] [[:alnum:]] [[:space:]] [[:punct:]]時(shí),如果同一個(gè)匹配超過(guò)一次,可以重復(fù)使用。
例如: [[:digit:]][[:digit:]]是合法的,但是[[:digit:]]+是不可以的
總結(jié)
該節(jié)是通配符的種類和使用用例的總結(jié),在Linux的使用過(guò)程中,掌握通配符往往可以事半功倍。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決linux遠(yuǎn)程拷貝報(bào)錯(cuò)not?a?regular?file問(wèn)題
這篇文章主要介紹了解決linux遠(yuǎn)程拷貝報(bào)錯(cuò)not?a?regular?file問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
Linux中大內(nèi)存頁(yè)Oracle數(shù)據(jù)庫(kù)優(yōu)化的方法
這篇文章主要給大家介紹了關(guān)于Linux中大內(nèi)存頁(yè)Oracle數(shù)據(jù)庫(kù)優(yōu)化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11
CentOS 安裝軟件出現(xiàn)錯(cuò)誤:/lib/ld-linux.so.2: bad ELF interpreter 解決
這篇文章主要介紹了CentOS 安裝軟件出現(xiàn)錯(cuò)誤:/lib/ld-linux.so.2: bad ELF interpreter 解決的相關(guān)資料,需要的朋友可以參考下2017-03-03
XShell免費(fèi)版的安裝配置教程及使用保姆級(jí)教程
XShell?是一種流行且簡(jiǎn)單的網(wǎng)絡(luò)程序,旨在模擬虛擬終端,這篇文章主要介紹了XShell免費(fèi)版的安裝配置教程以及使用教程,需要的朋友可以參考下2022-08-08
Linux環(huán)境下Apache開啟https服務(wù)的方法詳解
這篇文章主要介紹了Linux環(huán)境下Apache開啟https服務(wù)的方法,結(jié)合實(shí)例形式分析了阿里云環(huán)境下獲取SSL證書及Apache服務(wù)器安裝、開啟SSL的相關(guān)操作技巧,需要的朋友可以參考下2019-07-07

