linux下主要萬用字元與特殊字元如下:
* 代表0個或多個字元(或數字)
? 代表乙個字母 ---- 數字不可以嗎? 可以
# 注釋,常用在指令碼中
轉義字元,將特殊字元或者萬用字元還原成一般字元
| 分隔兩個管道
; 連續命令分隔
~ 使用者的家目錄
$ 變數之前需要加的,變數替換值
& 將命令變成後台工作
! 邏輯意義上的非,not
/ 路徑分隔
> >> 輸出導向
' 單引號,其中的變數不具有置換功能
" 雙引號,其中的變數具有置換功能,即:單引號較雙引號嚴格
` 撇號,tab鍵上面那個字元,兩個 ` 之間的命令可以先執行
() 中間為子shell的起始與結束
[] 中間為字元組合
{} 中間為命令區塊的組合
而正規表示式,可以分為基礎正規表示式和擴充套件正規表示式
^ 在行首搜尋,grep -n '^abc' file.txt 在file.txt中搜尋以abc開始的行
$ 在行尾搜尋,grep -n '^$' file.txt 搜尋空行
. 點號,代表任意乙個字元,必須有乙個
反斜槓,去除特殊符號的特殊意義,grep -n ' file.txt 搜尋『
* 前乙個字元重複0次或多次
前乙個字元重複n - m 次,如果沒有m,則代表無上限
[ ] 字元集合,---- [ ] 僅代表乙個待搜尋的字元,需要範圍時[2-4a-g]
grep -n 'g[lde]g' file.txt,搜尋glg gdg geg
這裡要注意的是:
1、^字元是否在 [ ] 中,作用是不同的
2、*字元在正規表示式中的作用與其充當萬用字元時的作用不同
3、!(嘆號)字元在正規表示式中並不是特殊字元
擴充套件正規表示式:
egrep 即 grep -e 的別名
+ 前乙個字元,重複1或多次,egrep -n 'go+gle' file.txt 搜尋gogle google gooogle......
? 前乙個字元,重複0或1次
| 用或的方式找出多個字串 egrep -n 'abc|abd' file.txt 搜尋abc或abd,---- |的兩邊沒有空格
() 找出「使用者組」字串 egrep -n 'g(oo|la)d' file.txt 搜尋good或glad
linux萬用字元與基礎正則
1.特殊符號 單引號 單引號的內容 寫什麼就是什麼,不會被當成特殊字元.單引號例項 root oldboyedu sh01 echo 123 123 雙引號 雙引號裡面的內容會被解析 雙引號例項 root oldboyedu sh01 echo 123 23 1 被當成了變數,而在單引號中不會出現這...
Linux正規表示式 萬用字元
萬用字元元字元或者句點 被認為是與變數等價的。變數表示算術表示式中的任意值。在正規表示式中,句點 是代表除換行符以外的任意字元的萬用字元 在awk中,句點甚至可以匹配嵌入式換行符 假定我們正在描述乙個字串行,使用萬用字元元字元可以指定任何字元都可以填充的乙個位置。例如,如果要索索包含intel系統微...
Linux 萬用字元 與 正規表示式 的區別與詳解
背景 在linux使用過程中,經常需要查詢檔案,對命令中的萬用字元 pattern 和正規表示式的區分不是很清楚。有必要好好研究一下。1 掃盲 1.1 萬用字元和正規表示式 當在使用命令行時,有很多時間都用來查詢你所需要的檔案,如ls find等。shell 提供了一套完整的字串模式匹配規則,或者稱...