正規表示式

2021-07-24 20:45:41 字數 1662 閱讀 6808

支援正規表示式的命令:grep、vi、sed、awk

1、grep

grep -【nabc】 數字 字串 檔案

-n 顯示行號

-a 把匹配到的行後面的n行也展示出來

-b 把匹配到的行前面的n行也展示出來

-c 把匹配到的行前後的n行也展示出來

grep中{}需要被轉義成\

2、sed

(1)新增

sed 『第n行a 字串』 檔案

在第幾行之後新增一行字串

若要新增多行,則在每乙個新增的字串後按反斜槓+enter

(2)替換整行

sed 『第n行c 字串』 檔案

將第n行全部替換成字串

(3)列印

sed -n 『第m行,第n行p』 檔案

列印第m行到第n行的資料,加-n是為了只輸出這幾行

插曲:如何將換行符替換成空格?

這裡介紹3種方法:

(4)替換字串

sed 's/old/new/g' 檔案

(5)直接修改原檔案,而不輸出到螢幕上

sed -i 命令 檔案

3、檔案的格式化與相關處理

(1)printf 格式化 列印內容

(2)常用的資料處理與統計工具 awk

awk '條件1 {} 條件2{} 條件3{}' 檔案

awk是一門程式語言,關鍵字如下:

變數$n

n=0表示行記錄,n=1,2...表示列

nf每行的單詞數,單詞的分隔符是fs

fs單詞分隔符,預設是空格,指定分隔符的用法是begin

nr行號

判斷條件

begin

在awk讀入檔案之前

end在awk讀完檔案之後

動作print

列印,後接變數或者字串

printf

格式化列印

其他{}

括起命令,裡面可以使用if()判斷條件,還可以使用;或者enter分隔多個動作

4、檔案對比命令

(1)diff

diff -【bbi】 from -/file to -/file

-代表stdin/stdout

-b 忽略一行中的多個空白

-b 忽略空白行

-i 忽略大小寫a新增

d刪除c修改

<

屬於左邊的內容

>

屬於右邊的內容

diff除了用來比較檔案,還可以用來比較目錄。

(2)cmp 比較的是位元組

(3)patch

①patch一般與diff一起使用,用於比較檔案版本新舊

diff -naur old new > ***.patch

***.patch是補丁檔案

②patch -pn < 補丁檔案 更新

patch -r -pn < 補丁檔案 還原

-p 後面接數字,表示取消幾層目錄

-r 將新檔案還原成舊檔案

這個命令依賴於生成的補丁檔案,原理是把old檔案看成主幹,new看成新分支,patch會將在new上所做的操作更新到old這個主幹上。

5、列印檔案命令 pr

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

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

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