一、語系對正規表示式的影響
對[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
個前乙個字元
四、支援正規表示式的工具
1、sed --整行處理
sed […] 'n1,n2動作'
n1,n2
:第n1
行和n2
行之間 動作:
a:新增,後加新增的字串
c:替換,後加替換的字串
d:刪除,後不加任何東西
i s:可接正規表示式,主要用於替換字元
p:列印
2、awk --將一行分為字段進行處理
awk '
條件1
條件2 …' filename $i
:表示按照
[tab]
或空格分割的第
i個字段
$0:表示一整行資料
awk的內建變數 nf
一行擁有的字段總數
nr目前處理的是第幾行的資料
fs目前的分隔符
awk的邏輯運算子
< > == != >= <=
3、printf --處理列印格式
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...