Linux 正規表示式

2021-07-25 05:47:21 字數 1548 閱讀 8847

一、語系對正規表示式的影響

對[a-z

]的查詢結果影響很大

lang=c

0 1 2 3 4 … a b c d … a b c d …

lang=zh_cn

0 1 2 3 4 … a a b b c c …

二、特殊符號與代表意義

[:alnum:]

英文大小寫字元與數字

[a-z] [0-9] [a-z]

[:alpha:]

英文大小寫字元

[a-z] [a-z]

[:blank:]

空格與[tab]按鍵

[:digit:]

[0-9]…見

p349

三、基礎正規表示式字元

^word

待查的字串(

word

)在行首

word$

待查的字串(

word

)在行尾 .

一定有乙個任意的字元

\轉義字元,將後面緊跟字元的特殊含義除去

*前乙個字元可以有

0到無窮多個

[abc]

可以是a、b

或c[a-z]

範圍內的字元

[^abc]

不能是a\b\c \

連續n到m

個前乙個字元

四、支援正規表示式的工具

1sed --整行處理

sed […] 'n1,n2動作'

n1,n2

:第n1

行和n2

行之間 動作:

a:新增,後加新增的字串

c:替換,後加替換的字串

d:刪除,後不加任何東西

i s:可接正規表示式,主要用於替換字元

p:列印

2awk --將一行分為字段進行處理

awk '

條件1

條件2 …' filename $i

:表示按照

[tab]

或空格分割的第

i個字段

$0:表示一整行資料

awk的內建變數 nf

一行擁有的字段總數

nr目前處理的是第幾行的資料

fs目前的分隔符

awk的邏輯運算子

< > == != >= <=

3printf --處理列印格式

printf '

列印格式

' 實際內容

%ns:n

位字元 %ni:

n位數字

%n.nf

:共有n

位(含小數點),小數有n位

見p362

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

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

正規表示式 Linux

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

Linux正規表示式

正規表示式是一種符號表示法,用於識別文字模式。linux處理正規表示式的主要程式是grep。grep搜尋與正規表示式匹配的行,並將結果輸送至標準輸出。1.grep匹配模式 grep按下述方式接受選項和引數 其中,regex表示正規表示式 1 grep options regex files 其中op...