Linux下正規表示式

2021-07-14 20:25:05 字數 1676 閱讀 9151

萬用字元與正規表示式的區別

萬用字元:

*:任意多個字元

?:任意乙個字元

:匹配括號中的乙個字元

1、匹配檔名稱(linux系統)

2、萬用字元是完全匹配。

3、搜尋檔名的命令ls、find、cp等命令不支援正規表示式,

所以只能使用shell的萬用字元來匹配

正規表示式(包含萬用字元):

1、匹配檔案中的資料(linux系統)

2、正則是包含匹配。

3、搜尋字串的命令grep、awk、sed等命令支援正規表示式。

一、正規表示式:

*    前乙個字元匹配0次或任意次

.     匹配除了換行符外任意乙個字元

^    匹配行首

$    匹配行尾   ^$:空白行

匹配括號中的任意乙個字元

[^]    匹配括號外的任意乙個字元

\    轉義符,讓特殊功能的字元變成一般字元

\    前乙個字元出現n次(最好加定界符)

\    前乙個字元出現不少於n次

\    前乙個字元至少出現n次,最多m次

二、字元擷取命令

1、cut欄位提取命令

cut     -f n,m         輸出第m,n列

-d ":"        分隔符預設為製表符

df     -h        輸出磁碟資訊

2、printf命令

printf '輸出型別輸出格式' 輸出內容

輸出型別

%ns%ni

%m.nf

輸出格式

\a\t

...3、awk命令(複雜,功能強大)

awk '條件條件' 檔名

example:awk '' student.txt

begin/end 條件

fs    內建變數,分隔符

example:awk 'begin' student.txt

awk '$4>=70' student.txt

4、sed命令:用於修改檔案內容(近似vim)

sed [選項] '[動作]' 檔名

選項-n 輸出處理的行

-e 允許應用多條sed命令,分號「;」分隔sed '[動作];[動作]'

-i 用sed的修改結果直接修改檔案,而不是由螢幕輸出

動作a 追加

c 行替換

i 插入

d 刪除

p 列印

s 字串替換

example:sed -n '2p' student.txt 列印第二行

sed  '2,4d' student.txt 刪除2至4行

sed 's/舊字串/新字串/g'

三、字元處理命令

sort命令,排序

sort [選項] 檔名

-f 忽略大小寫

-n 以數值型進行排序

-r 反向排序

-t 指定分隔符

-k n[,m] 按照指定字段範圍排序

example:sort -n -t ":" -k 3,3 /etc/passwd

wc命令 ,統計命令

wc [選項] 檔名

-l 只統計行數

-w 只統計單詞數

-m 只統計字元數

example: wc /etc/passwd

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...

linux下的正規表示式

一 正規表示式的定義 簡單的說,正規表示式 就是 為處理大量的字串 而定義的一套規則和方法。linux正規表示式一般以行為單位處理。例如 代表xinwen 代表lianbo echo 就是 xinwenlianbo 二 正規表示式可以解決什麼問題 為什麼要學習正規表示式呢?在企業工作中,linux運...

正規表示式 Linux

主要內容 1 正規表示式2 基礎3 擴充套件4 通配5 grep命令 正規表示式基礎 1 元字元 metacharacters 是用來闡釋字元表示式意義的字元,簡言之,元字元就是描述字元的字元,它用於對字元表示式的內容 轉換及各種操作資訊進行描述。正規表示式是由一串字元和元字元構成的字串,簡稱re ...