Day9-2 正則工具簡介 上
阿新 • • 發佈:2018-01-31
cto 以及 取反 key grep eee fff 遍歷 har 正則 一串有規律的字符串
- grep
egrep等效於grep -E
grep ‘[word]‘ filename 列出文件中含有word的行
-c 行數
-i 不區分大小寫
-n 顯示行號
-v 取反(非目標行)
-r 對目錄且遍歷所有子目錄和文件
-An 過濾出符合要求的行以及下面n行
-Bn 過濾出符合要求的行以及上面n行
-Cn 過濾出符合要求的行以及上下各n行
grep特殊字符(用在引號裏)
[0-9] 任一數字
^[chars] 以某個字符開頭的行
[^0-9] 非數字(^在中括號內表示取反)
[^a-zA-Z] 非字母
. 任一字符
- 0個或多個之前的字符(會把型號前那個字符吞掉)
. 任意數量任意字符(貪婪匹配)
(ooo){3} 三次三個o - 1或多個之前字符(grep脫義)
? 0或1個之前字符(grep脫義)
| 或者(grep脫義)
- sed(可以替換指定字符)
查找並打印
-r 不需要脫義字符(相當於grep的-E)
sed -n ‘2,5‘p [filename] 列出第2、5行
sed -n ‘2,$‘p [filename] 列出第2及以下全部行
sed -n ‘[keywords]‘Ip [filename] p前加I(大寫的i)可以忽略大小寫
sed -e [case1] -e [case2] -e [case3] [filename] 多條件(各條件結果有重合時,會重復打印)
sed -i ‘1,5‘d [filename] 刪除1-5行(-i 直接對文件操作!)
sed -i ‘1,5‘p [filename] 增加1-5行(1-5行,每行上復制一行)
sed ‘n,ms/[word1]/[word2]/g‘ [filename] 替換n-m的word1為word2
sed -r ‘s/([^:]+):(.):([^:]+)/\3:\2:\1/g‘ [filename]
將第一個:前和最後一個:後的部分互換
sed -r ‘s/([^:]):(.):([^:])/\3:\2:\1/g‘ 離冒號最近的一個字符
sed -r ‘s/([^:]{2}):(.):([^:]{2})/\3:\2:\1/g‘ 離冒號最近的兩個字符
sed -r ‘s/(.)/[chars]&/‘ 在每行前加特定字符
Day9-2 正則工具簡介 上