linux常用命令 正規表示式

2021-08-22 04:38:07 字數 2661 閱讀 1841

正規表示式:

[:alnum:]:

代表所有英文本母和數字

[:alpha:]

代表所有英文本母

[:blank:]

表示空格和tab按鍵

[:cntrl:]

代表鍵盤上的控制按鍵

[:digit:]

代表所有的數字

[:graph:]

除了空格和tab外其他所有按鍵

[:lower:]

代表所有小寫字母

[:print:]

代表任何可以被列印出來的字元

[:punct:]

代表所有標點符號

[:upper:]

代表所有大寫字母

[:space:]

代表所有可能的空白的字元,所有空格鍵,tab,cr等

[:xdigit:]

代表所有16進製的數字型別,0-9,a-f,a-f

利用中括號在括號的區間內選擇查詢字元

grep -n 'th[ea]' text.txt

[^]字集反向選擇

^表示在文字行首

.&在查詢語句的末尾

a-z 查詢a-z的字段

[[:digit:]]代表數字查詢

萬用字元o*

表示0個o或多個o

go*g

可以匹配

gg,gog,goog,gooog

g..g

表示匹配兩個.為隨機文字

例如goog,gddg,gdeg

g.*g

表示匹配任何符合隨機滿足g隨機任意字元g的文字匹配

n\表示n的重複次數為2和5之間文字匹配

sed動作模式

-n: 使用安靜模式,在一般sed的用法中,所有stdin的資料都會被輸出到螢幕上,加上引數可以值讓涉及到的查詢結果顯示,否則會顯示兩遍

-e: 直接在指令上進行sed的動作編輯(預設)

-f: 將動作寫入乙個檔案內, 可以使用 -f filename執行sed動作

-r: sed 的動作支援是延伸型正規表示式的語法(預設是常規正規表示式)

-i: 直接修改內容,而不是輸出結果(危險操作)

n1,n2,function

在n1和n2之間進行動作行為

動作行為引數

a: 新增,在當前的下一行插入字串

c: 取代,c的後面可以接字串,來取代範圍內的內容

d: 刪除,將範圍的內容刪除

i: 插入,插入指定行的上一行

p: 將範圍內的內容輸出到螢幕上

s: 可以用正規表示式對範圍內的內容進行查詢, 1,30s/oldcontent/newcontent/g

延伸正規表示式

乙個或乙個以上的重複字元

如go+d會匹配

god,good

零個或乙個的字元

如go?d會匹配

gd,god

在給出的條件內查詢匹配字元

gd|good

會匹配查詢含有兩個其中之一關鍵字的語句

範圍群組

a(god|good)b

會匹配agodb或者agoodb包含的語句

會包含多個重複就語句的群組

printf

會以區塊為邊界列印內容,顯示格式

\a 發出警告聲音

\b 退格鍵

\f 清除螢幕

\n 換行

\r enter按鍵

\t 水平的tab按鍵

\v 垂直的tab按鍵

\xnn nn為兩位數的數字,可以轉換成字元

%ns n是數字,表示多少字元

%ni n是數字,i表示整數字元

%n.nf n和n都是數字,f表示浮點數,n為總數,n為小數點後的數量,則整數字為n-1-n,小數點佔一位

awk 類似於sed的一種檔案資料操作工作

以設定標記位為邊界區分每個資料塊編號預設為空格

nr表示當前第幾行

nf表示當前一共有多少區塊

fs表示當前的分隔符

一般格式如下

stdin | awk 'begin nr > 4 || nf > 3'

表示的意思為將輸入以":"進行切割,當給定的資料是第4行或者當前分割槽塊數量大於3時,將列印第1區塊和第3區塊

以/etc/passwd為例子

cat /etc/passwd | awk 'begin'

必須進行換行列印,否則會提示語法錯誤

會將passwd的第3列和第4列的資料加後輸出,僅是測試沒有意義

diff

對檔案不同進行比較

-b忽略一行中的空表

-b忽略空白行

-i:忽略大小寫的不同

cmp將檔案中的不同位元組列舉出來

-l將所有的位元組列出來,預設指顯示第乙個不同點

patch

將檔案的不同以補丁形式儲存

diff -naur file.old file.new > update.pacth

在借由patch工具公升級

-r還原

pr將檔案的標題頁碼時間連同內容一起顯示出來

常用命令 正規表示式

正規表示式 regular expression,regexp 被很多程式和開發語言所廣泛支援 vim,less,grep,sed,awk,nginx,mysql 等 正規表示式引擎 採用不同演算法,檢查處理正規表示式的軟體模組,如 pcre perl compatible regular expr...

linux 命令 正規表示式

1.cut擷取以 分割保留第七段 grep hadoop etc passwd cut d f7 2.排序 du sort n 3.查詢不包含hadoop的 grep v hadoop etc passwd 4.正則表達包含hadoop grep hadoop etc passwd 5.正則表達 點...

linux下檔案常用命令,正則匹配表示式

參考 正規表示式常用 自碼 linux下檔案常用命令 查詢目錄下檔案數目 不包含子目錄下的檔案 ls l grep wc l查詢目錄下檔案數目 包含子目錄下檔案 ls lr grep wc l查詢目錄下資料夾數目 不包含子目錄 ls l grep d wc l查詢目錄下資料夾數目 包含子目錄 ls ...