用途
用于匹配一个或多个模式的文本行
语法
grep [OPTIONS] PATTERN [FILE…]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE…]
描述
-n:显示行
-r:递归查找子目录
-l :只显示匹配该文本的文件名
-o:只显示匹配行和匹配文本
-a:不搜索二进制文件
-v:反向匹配,只匹配没有此字符串的行
-B NUM:打印匹配文本行的前NUM行
-A NUM:打印匹配文本行的后NUM行
-m NUM:只显示匹配文本的文件的前NUM个匹配行
–exclude-dir : 不搜索指定目录
再做补充
举例
查找当前文件及子目录下匹配tvp5150的文本行
~/kernel/drivers/media/usb/em28xx$ grep -n -r "tvp5150" ./*
./em28xx-cards.c:35:#include <media/tvp5150.h>
./em28xx-cards.c:160: GPIO1 - Enable analog power (tvp5150/emp202) - low to enable
./em28xx-video.c:2160:/* I2C possible address to saa7115, tvp5150, msp3400, tvaudio */
./em28xx-video.c:2166:static unsigned short tvp5150_addrs[] = {
./em28xx-video.c:2311: * Default format, used for tvp5150 or saa711x output formats
./em28xx-video.c:2332: "tvp5150", 0, tvp5150_addrs);
./em28xx-i2c.c:890: [0xb8 >> 1] = "tvp5150a",
./em28xx-i2c.c:891: [0xba >> 1] = "webcam sensor or tvp5150a",
~/kernel/drivers/media/usb/em28xx$ grep -nr -l "tvp5150" .
./em28xx-cards.c
./em28xx-video.c
./em28xx-i2c.c
~/kernel/drivers/media/usb/em28xx$ grep -nr -E "tvp5150a|tda9874" .
./em28xx-i2c.c:889: [0xb0 >> 1] = "tda9874",
./em28xx-i2c.c:890: [0xb8 >> 1] = "tvp5150a",
./em28xx-i2c.c:891: [0xba >> 1] = "webcam sensor or tvp5150a",