10月16日任務
9.1 正則介紹_grep上
9.2 grep中
9.3 grep下
正則介紹
9.1 _grep(上)
正則是一串有規(guī)律的字符串
掌握好正則對于編寫shell腳本有很大幫助
各種編程語言中都有正則,原理是一樣的
grep/egrep、sed钳榨、awk
grep [-cinvABC] 'word' filename
-c 查看行數(shù)?
-i 不區(qū)分大小寫
-n 顯示行號在最左邊
-v 取反 顯示除去目標行
-r 遍歷文件下所有目錄及文件
-A 后面跟數(shù)字轿曙,過濾出符合要求的行以及下面n行
-B 同上蜗细,過濾出符合要求的行以及上面的n行
-C 同上,同時過濾出符合要求的行以及上下面各n行
9.2?grep(中)9.3?grep(下)
grep/egrep示例
grep -n 'root' /etc/passwd
grep -nv 'nologin' /etc/passwd
grep '[0-9]' /etc/inittab
grep -v '[0-9]' /etc/inittab
grep -v '^#' /etc/sos.conf
grep -v '^#' /etc/sos.conf |grep -v '^$'
grep '^[^a-zA-Z]' test.txt
grep 'r.o' test.txt
grep 'oo*' test.txt
grep '.*' test.txt
grep 'o\{2}' /etc/passwd
egrep 'o{2}' /etc/passwd
egrep 'o+' /etc/passwd
egrep 'oo?' /etc/passwd
egrep 'root|nologin' /etc/passwd
egrep '(oo){2}' /etc/passwd
grep
'[0-9]' 只要有一個數(shù)字都顯示該行
'[^0-9]' 只要含有非數(shù)字的字符都顯示出該行
-v '[0-9]' 取反 顯示沒有數(shù)字的行
-v '[^0-9]' 顯示不以數(shù)字開頭的行
'^[^0-9]' 顯示以一個非數(shù)字的字符開頭的行
^在中括號中意思為取非
'r.o'??中的.為任意一字符
'o*o' *表示0到n次 *前的字符至少出現(xiàn)0次
'o\{2\}'??顯示含有連續(xù)兩個o的行
'o\{0,3\}' 顯示含有連續(xù)1個到3個o的行
'o\+o' +表示1到n次 加號前的字符至少出現(xiàn)1次
'o?1o' 表示問號前字符出現(xiàn)的次數(shù)為0或1次
'root|nologin' |在單引號中表示或者
grep -E = egrep
egrep 'o{2}'??== grep 'o\{2\}' == grep -E 'o{2}'??