通配符 1、基本的通配符有哪些? ·“?”可替代單個字符。 ·“*”可替代任意字符。 ·方括號“[charset]”可替代charset集中的任何單個字符。 對最后一條做些解釋。[cChH]通配符便可替代c或h字符的大小寫形式。 通配符集還能描述介于字符對之間的所有字符。如“[a-z]”就可以代 替任意小寫字母,而[a-zA-Z]則可替代任意字母。注意可替代的字符 包括字符包括字符對之間的所有字符。 與DOS相比,UNIX的通配符機制要比DOS好得多。在DOS中,任何在“*” 之后,在“.”之彰的字符均被忽略,所以下面的指令將不能得到你想 象的結果。 del *bak.* 在DOS中,用戶只能用此命令刪除當前目前下的所有文件,除非系統要 求你不這樣做。而在UNIX系統中,“*”可替代包括0在內的任意數字的 字符,但一行中的其余特征也仍需匹配,因此“bak.*”可匹配 newbak.save、oldbak.new甚至bak.temp,但不能和newbak匹配,因為后 者不含“.”。這非常巧妙,可大大方便用戶,而“*bak”則可匹配以上 所有的詞條,包括newbak。 2、能在一條指令中用多個通配符嗎? 可以,如 rm a*out*tmp? 該命令可以刪除一系列臨時性的輸出文件,如ab.out.temp1、ab.out.temp1 等。 3、如何利用通配符使指令更靈活? UNIX可將有一定關的文件看作一集合的一部分,用戶可以用該集合去匹配。 所以,如果你需要刪除file1.temp、file2.temp……file9.temp,只須健入: rm file[0-9].temp 該技巧的用處在于可以用刪除那些相要刪除的文件。如果你每天都要為一個 非常重要的 數據庫 做一個“dump”報告,你把文件存入dump.date%h%d, 它包括一系列文件如下: dump.jun23 dump jun24 dump jun25 dump.jun26 再讓我們假設因為每個文件的容量都在100M左右,所以磁盤空間很快會被占滿, 因此需要每隔幾天刪去一些老的文件,只留下最近的兩個文件,為此,鍵入: rm –i du*[34] 這條指令將刪去那些以“du”開頭并以“3”或“4”結尾的文件。
定南ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創新互聯公司的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
正則表達式:在計算機科學中,是指一個用來描述或者匹配一系列符合某個句法規則的字符串的單個字符串。在很多文本編輯器或其他工具里,正則表達式通常被用來檢索或替換那些符合某個模式的文本內容。正則表達式這個概念最初是由Unix中的工具軟件(例如sed和grep)普及開的。
只有掌握了正則表達式,才能全面地掌握 Linux 下的常用文本工具(例如:grep、egrep、GUN sed、 Awk 等) 的用法
grep、sed、awk天然支持正則
grep -v代表反選,反向選擇匹配到的內容
grep -E代表使用擴展正則
grep -P代表使用Perl正則
sed -r 代表使用擴展正則
正則表達式分為三類(man grep可以看到,分別是basic RegExs,extended RegExs,perl RegExs)
1、基本的正則表達式(Basic Regular Expression 又叫 Basic RegEx 簡稱 BREs)
2、擴展的正則表達式(Extended Regular Expression 又叫 Extended RegEx 簡稱 EREs)
3、Perl 的正則表達式(Perl Regular Expression 又叫 Perl RegEx 簡稱 PREs)
b. 處理過程:查找文本文件中是否包含要查找的 “關鍵字”(關鍵字可以是正則表達式) ,默認返回匹配的該行的內容
c. grep|egrep處理文件時,按行處理 |
| sed | sed | sed -r | - | a. 處理對象:文本文件
b.處理操作:對文本文件的內容進行 查找、替換、刪除、增加等操作
c. sed 在處理文本文件的時候,按行處理 |
| awk | - | awk | - | a. awk 處理的對象:文本文件
b. awk 處理操作:主要是對列進行操作 |
注意:egrep 或 sed -r 默認使用擴展正則表達式(EREs),一般特殊字符({})可以不轉義
grep -E 以及egrep(Extend Regular Expression)
Linux通配符和三劍客的正則表達式是不一樣的,因此,代表的意義也有較大的區別 。
通配符一般用戶命令行bash環境,而linux正則表達式用于grep, sed, awk場景。
通配符說明
示例:* 的使用:代表任意0-N個字符,代表所有字符
Linux的基本命令格式:
命令 [-選項] [參數]
例如
ls -a /etc
ls - l ?/etc
makdir -p /abc/cba
linux常用通配符有* ,?,[ ],[^],[:space:],[:punct:],[:lower:],[:upper:],[:digit:],[:alnum:]等等。
* ?匹配任意長度的任意字符
?匹配任意單個字符
[ ]匹配制定范圍內的單個字符[^]匹配制定范圍外的單個字符
[:space:]匹配單個空白字符
[:punct:]匹配單個標點符號字符
[:lower:]匹配單個小寫字母字符
[:upper:]匹配單個大寫字母字符
[:digit:]匹配單個數字字符
[:alnum:]匹配單個數字和字母字符
以上通配符在使用時還需再加一個[ ]
更多詳細Linux知識可參考《Linux就該這么學》。
我的個人博客:
通配符一般用戶命令行bash環境,而Linux正則表達式用于grep,sed,awk場景。
管道命令符 " | " 的作用是將前一個命令的標準輸出當作后一個命令的標準輸入,格式為"命令A|命令B"。
例如:
搜索rsyslogd進程: $ ps -ef | grep rsyslogd
用反野形式查看/etc 目錄中有哪些文件: $ ls -l /etc/ | more
bash解釋器支持多種文本通配符,包括:
我們之前在學文本查詢搜索命令時就用到了通配符,例如,在 /etc 目錄下搜索所有的以host開頭的文件:
$ find /etc -name "host*"
另外,bash解釋器還支持很多的特殊字符擴展:
例如:
先定義名稱為PRICE的變量值為5
$ PRICE=5
輸出“價格是5”:
輸出“價格是$5”,但因為美元符號與代表變量取值的$符號沖突,所以需要用到轉義字符:
使用單引號,變量將不再被取值:
執行 uname -a 后可以查看到本機內核的版本與架構信息(反引號里面的命令會被執行):
當前名稱:linux命令通配符用法的簡單介紹
網站鏈接:http://m.2m8n56k.cn/article34/hoihpe.html
成都網站建設公司_創新互聯,為您提供做網站、動態網站、定制開發、標簽優化、移動網站建設、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯