2.基礎正規表示式
3.擴充套件正規表示式
4.常用輔助工具
4.2 uniq重複統計工具
4.3 tr替換工具
使用字串來描述、匹配一系列符合某個規則的字串
1.基礎正規表示式
2.擴充套件正規表示式
普通字元:大小寫字母、數字、標點符號及一些其他符號
元字元:在正規表示式中具有特殊意義的專用字元
grep、sed
\:轉義字元,使具有特殊意義的元字元作為普通字元使用
^:匹配字串開始的位置
$ :匹配字串結束的位置
.:匹配除\n之外的任意的乙個字元,例如:go.d、g…d
*:匹配前面子表示式0次或者多次,例如:goo*d、go.*d
[list]:匹配list列表中的乙個字元
[^list]:匹配任意不在list列表中的乙個字元
\:匹配前面的子表示式最少n次
:匹配前面的子表示式最少n次,最多無上限
:匹配前面的子表示式最少n次,最大m次
grep 【選項】 引數
選項:
-n:顯示行號
-i:不區分大小寫
-v:反向過濾(即查詢不符合引數條件的)
1.讀取:從輸入流讀取內容臨時放入快取區
2.執行:在模式空間順序執行命令
3.顯示:傳送修改後的內容到輸出流,傳送後,模式空間被清空
預設sed命令都在模式空間內執行,因此輸入流的檔案內容不會被改變,除非是重定向儲存輸出
sed 【選項】 '操作' 引數
選項:
-e script:指定sed編輯命令(script:命令)
-f scriptfile :指定的檔案是sed編輯命令(scriptfile:命令檔案)
-n、–quiet、silent:表示僅顯示處理後的結果
-i:直接編輯文字檔案(即會改變輸入流檔案內容)
操作:a:增加,在當前行下面增加一行指定內容
i:增加:在當前行上面增加一行指定內容
c:替換,將選定行替換為指定內容
s:替換,將選定字元替換為指定字元
y:字元轉換
d:刪除,刪除指定行
h:複製,複製到剪貼簿
g:貼上覆蓋,將剪貼簿內容覆蓋到指定行
g:貼上追加,將剪貼簿內容追加到指定行後
p:列印,如果同時指定行,表示列印指定行,若不指定行,列印所有內容,若有非列印字元,以ascii碼輸出,通常與-n選項一起使用
w:儲存為檔案(即將操作結果另存為)
r:讀取指定檔案
egrep、awk
+:匹配前面子表示式1次以上
?:匹配前面子表示式0次或1次
():將括號內容看做乙個整體
|:以或方式匹配字串
用於無互動情況實現複雜操作,通常為系統取值、取值、匹配引數
逐行讀取文字,預設以空格為分隔符進行分隔,將分隔所得的各個字段儲存到內建變數中,並按模式或條件執行編輯命令
按行輸出
按欄位輸出
通過管道符、雙引號呼叫shell命令
①awk 【選項】 '模式或條件' 檔案
②awk -f 命令指令碼檔案 檔案
選項:
-f:檢索行時以什麼為間隔,預設是空格(例:「-f:」即以:為間隔 )
內建變數:
fs:指定每行文字的字段分隔符,和-f選項同義
nf:當前處理的行的字段個數
nr:當前處理的行的行號
$0:當前處理的行的整行內容
$n:當前處理行的第n個字段
filename:被處理的檔名
rs:資料記錄分隔,預設為\n,即每行為一條記錄
依據不同資料型別進行排序
排序方式:
字元排序(預設)
數字排序
sort 【選項】 引數
選項:
-f:忽略大小寫
-b:忽略每行前面的空格
-m:按月份排序
-n:按數字排序
-r:反向排序
-u:等同於uniq工具,表示重複資料時僅顯示一行
-t:指定分隔符,預設用tab鍵分隔
-o 《輸出檔案》:將排序的結果儲存至指定檔案
-k:指定排序區域
篩選重複行
uniq 【選項】 【引數】
選項:
-c:進行計數,統計重複行
-d:僅顯示重複行
-u:僅顯示出現一次的行
替換操作
tr 【選項】 【引數】
選項:
-c:取代所有不屬於第一字符集的字元
-d:刪除所有屬於第一字符集的字元
-s:把連續重複的字元以單獨乙個字元表示
-t:先刪除第一字符集較第二字符集多出的字元,再做替換(有三種情況)
##若第一字符集比第二字符集多,從頭覆蓋;
若第一字符集和第二字符集等量,則全部覆蓋替換;
若第二字符集比第一字符集多,則只覆蓋和第一字符集長度一樣的第二字符集內容
shell正規表示式
句點 匹配單字元 1 匹配任意單ascii 字元,可以為字母,或為數字。2 舉例 xc.匹配dexc1t 23xcdf 等,w.w.w.匹配rwxrw rw 行首以 匹配字串或字串行 1 允許在一行的開始匹配字元或單詞。2 舉例 01 匹配0011cx4 c01sdf 等,d 匹配drwxr xr ...
shell正規表示式
句點 匹配單字元 1 匹配任意單ascii 字元,可以為字母,或為數字。2 舉例 xc.匹配dexc1t 23xcdf 等,w.w.w.匹配rwxrw rw 行首以 匹配字串或字串行 1 允許在一行的開始匹配字元或單詞。2 舉例 01 匹配0011cx4 c01sdf 等,d 匹配drwxr xr ...
shell 正規表示式
一 從頭開始 echo the book sed n the p 二 結尾 三 聯合定位 this is a test 四 點字元 用於匹配除換行符之外的任何乙個單一字元 五 字元類 定義一類字元,用於匹配文字模式中的某一位置 例如 echo n ch at p data the cat is sl...