grep
負
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN] [FILE...]
參數(shù):
-c --count #計算符合樣式的列數(shù)
-l --file-with-matches #列楚內(nèi)容符合指定的樣式的文件名稱。
-v --revert-match #顯示不包含匹配文本的所有行。
-i --ignore-case #褐符創(chuàng)的差?p>
-o # 只顯示匹配到的關鍵字
-n # 現(xiàn)實行號
-E 使用正燥式
除燥式
^ : 匹配開頭
$ : 匹配結(jié)尾
[] : 范圍匹配
[a-z] : 匹配有小寫字母
[A-Z] : 匹配所有粗母
[0-9] : 匹配所有數(shù)字
. : 匹配單耕
* : 表示*前面的內(nèi)容炒位?nbsp;
+ : 表示+前面的內(nèi)容炒位?nbsp;
? : 表示?前面的內(nèi)容炒位
cat a.txt |grep hat$ # 匹配以hat結(jié)尾的行
cat a.txt |grep ^hat # 匹配以hat開頭的行
cat a.txt | grep -E "[0-9]*" # 匹配有0到多鋼的行
cat a.txt | grep -E "[0-9]+" # 匹配有至少有1鋼的行
cat a.txt | grep -E "[0-9]?" # 匹配有0到1鋼的行
sed : 鐮蘋次處理一行內(nèi)容
sed [-nefr] [動孜募⺌
選項與參數(shù):
-n :使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN 的數(shù)據(jù)一般都會被列癡端上。但如果加上 -n 參數(shù)盒經(jīng)過sed 特殊處理的那一行(化諄岜渙諧/p>
-e :直接在命令列模式上進行 sed 的動篆
-f :直接將 sed 的動宗一羹內(nèi), -f filename 栽運行 filename 內(nèi)的 sed 動筑
-r :sed 的動字的是延伸型正規(guī)表示法的語法。(默認是基礎正規(guī)表示法語法)
-i :直接修改讀取的文件內(nèi)容,而不是輸癡端。
動譡n1[,n2]] 動?p>
n1, n2 :不一定存在linux常用命令,一般代表選孕動仔數(shù),比如,如果我的動阻要在 10 到 20 行之間進行的,?0[動轉(zhuǎn)]
#a :新詀 的荷以接字串,而這些字串會在新的一行襯殼暗南亂恍?
#c :取代, c 的荷以接字串,這些字串可以取代 n1,n2 之間的行!
#d :刪除,儀刪除啊,所以 d 酣常不接任何咚咚;
sed "3d" file # 刪除第三行
sed "1,3d" # 刪除前三行
sed "1d;3d;5d" # 刪除1、3、5行
sed "/^$/d" #刪除空行
sed "/abc/d" #刪除所有含有abc的行
sed "/abc/,/def/d" #刪除abc 和 def 之間的行,包括其自身
sed "1,/def/d" #刪除第一行到 def 之間的行,包括其自身
sed "/abc/,+3d " # 刪除含有abc的行之黑刪除3行
sed "/abc/,~3d" #從含有abc的行開始,共刪除3行
sed "1~2d" # 從第1行開始,每2行刪除一行, 刪除奇數(shù)行
sed "2~2d" # 從第2行開始,每2行刪除一行, 刪除奇數(shù)行
sed "$d" # 刪除最盒
sed "/dd\|cc/d" 刪除有dd籧的行
#i :插入, i 的荷以接字串,而這些字串會在新的一行襯殼暗納弦恍?;
#p :列印,亦即將某庚據(jù)印敞常 p 會與參數(shù) sed -n 一菩
sed -n "3p" file # 顯示第三行