Linux · 2009-02-23

grep匹配与过滤 学习笔记-1

grep的范围匹配 “[]”

root@debian:~# echo -e 123″\n”124″\n”abc”\n”abd|grep “12[34]”
123
124



行首 匹配1a开头 “^”
不匹配2a开头 “^[^]”

root@debian:~# echo -e 123″\n”124″\n”abc”\n”abd|grep “^[1a]”
123
124
abc
abd




root@debian:~# echo -e 123″\n”124″\n”abc”\n”abd|grep “^[^2a]”
123
124




忽略大小写 “i”选项与 []

root@debian:~# echo -e 123″\n”124″\n”abc”\n”abd”\n”ABCD|grep -i ^a
abc
abd
ABCD

root@debian:~# echo -e 123″\n”124″\n”abc”\n”abd”\n”ABCD|grep [Aa]
abc
abd
ABCD



分开匹配 匹配两次A–Z中的1个字母,最后是 0–9其中1个数字 例如AB1 ; DD3

root@debian:~# echo -e 123″\n”1a2″\n”AB2″\n”CC1|grep [A-Z][A-Z][0-9]
AB2
CC1



“{}”的次数 123至少出现一次,花括号里如果是2,结果为空。
因为第一行是它自己本身。

root@debian:~# echo -e 123″\n”1a2″\n”AB2″\n”CC1″\n”123|grep ‘123\{1,\}’
123
123