grep, egrep, fgrep :輸出匹配模式的行
grep:支持基本正則表達(dá)式元字符(grep -E相當(dāng)于egrep)
egrep:支持?jǐn)U展正則表達(dá)式元字符(egrep -G相當(dāng)于grep)
fgrep:不支持正則表達(dá)式元字符(若不需要模式匹配垢乙,使用fgrep性能最好)
SYNOPSIS
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
1. grep
OPTIONS
-E:支持使用擴(kuò)展的正則表達(dá)式元字符;
--color=auto:對(duì)匹配到的文本著色后高亮顯示袄简;
-i:ignorecase眶根,忽略字符的大小寫(xiě)蜀铲;
-o:僅顯示匹配到的字符串本身;
-v, --invert-match:顯示不能被模式匹配到的行属百;
-q, --quiet, --silent:靜默模式记劝,即不輸出任何信息;
-A n:after, 后n行
-B n:before族扰,前n行
-C n:context厌丑,前后各n行
2. egrep
OPTIONS
-G:使用基本的正則表達(dá)式元字符定欧;
-i:ignorecase,忽略字符的大小寫(xiě)怒竿;
-o:僅顯示匹配到的字符串本身砍鸠;
-v, --invert-match:顯示不能被模式匹配到的行;
-q, --quiet, --silent:靜默模式愧口,即不輸出任何信息睦番;
-A n:after, 后n行
-B n:before,前n行
-C n:context耍属,前后各n行
3. fgrep
fgrep不支持模式匹配托嚣,其它用法與grep與egrep相同。
示例
# 篩選包含至少一個(gè)大寫(xiě)字母的行
grep "[A-Z]\+" /etc/passwd
# 篩選包行2個(gè)root的行及后1行
grep -A 1 "\(root\).*\1" /etc/passwd
grep -A 1 -E "(root).*\1" /etc/passwd
# 篩選包含1位數(shù)到3位數(shù)的行
grep "[1-9]\{1\}[0-9]\{0,2\}[^0-9]" /etc/passwd