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