Linux 正規表示式

2021-09-19 04:08:04 字數 2024 閱讀 3058

【grep / egrep】

grep實現的只是查詢功能,而它卻不能實現把查詢的內容替換掉。sed和awk都是流式編輯器,是針對文件的行來操作的。

a. 列印某行 sed -n 『n』p filename 單引號內的n是乙個數字,表示第幾行

b. 列印多行 列印整個文件用 -n 『1,』ps

ed–n

『2,4

』pte

st.t

xtse

d–n『

1,

』p sed –n 『2,4』p test.txt sed –n 『1,

』psed–

n『2,

4』pt

est.

txts

ed–n

『1,』p test.txt

c. 列印包含某個字串的行:sed –n 『/root/』p test.txt

『^』, 『$』, 『.』, 『*』等同樣也能在sed中使用。

d. -e 可以實現多個行為:sed –e 『1』p –e 『111』p –n test.txt

e. 刪除某行或者多行:sed 『1』d test.txt

『d』這個字元就是刪除的動作了,不僅可以刪除指定的單行以及多行,而且還可以刪除匹配某個字元的行,另外還可以刪除從某一行一直到文件末行。

f. 替換字元或字串:sed 『1,2s/ot/to/g』 test.txt

『s』就是替換的命令,』g』為本行中全域性替換,如果不加』g』,只換該行**現的第乙個。除了可以使用』/』外,還可以使用其他特殊字元例如』#』或者』@』都沒有問題。

刪除文件中的所有數字或者字母:sed 『s/[0-9]//g』 test.txt

g. 調換兩個字串的位置:sed 『s/(rot)(.*)(bash)/\3\2\1/』 test.txt

某一行前或者後增加指定內容:sed 『s/^.*$/123&/』 test.txt 、sed 『s/^.*$/&123/』 test.txt

h. 直接修改檔案的內容: sed -i 『s/:/#/g』 test.txt。』:』修改為『#』

【awk工具的使用】

awk比sed更加強大,它能做到sed能做到的,同樣也能做到sed不能做到的。

a. 擷取文件中的某個段:head –n2 test.txt |awk –f』:』 『』

-f 選項的作用是指定分隔符,如果不加-f指定,則以空格或者tab為分隔符。print為列印的動作,用來列印出某個字段。$1為第乙個字段,$2為第二個字段,依次類推,有乙個特殊的那就是$0,它表示整行。

b. 匹配字元或字串:awk 『/root/』 test.txt

awk –f』:』 『$1~/root/』 test.txt 可以讓某個段去匹配,這裡的』~』就是匹配的意思

awk –f』:』 『/root/ /test/ 』 test.txt awk還可以多次匹配

awk –f』:』 『$1~/root/ 』 test.txt 只列印所匹配的段

c. 條件操作符awk –f』:』 『$3==」0」』 test.txt

『==』就是等於,也可以理解為「精確匹配」。另外也有』>』, 『>=』, 『<』, 『<=』, 『!=』等等,值得注意的是,即使$3為數字,awk也不會把它當數字看待,它會認為是乙個字元。所以不要妄圖去拿$3當數字去和數字做比較。還可以使用」&&」 和 「||」表示「並且」和「或者」的意思。

d. awk的內建變數

常用的變數有:nf-用分隔符分隔後一共有多少段;nr-行數。

e. awk中的數**算

head –n 5 test.txt |awk –f』:』 『$1=」root」』

head –n 2 test.txt |awk -f』:』 『』

cat test.txt |awk –f』:』 『; end 』

這裡的end要注意一下,表示所有的行都已經執行

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...