grep使用记录

来源:互联网 发布:山东大数据公司有哪些 编辑:程序博客网 时间:2024/06/04 18:07

排除指定目录时记得不是“全路径”

如题,使用 grep  -rsn --exclude="*.c" --exclude="*.o.*" --exclude="*System.map" --exclude-dir="drivers" -I "jiffies" /home/share/kernel.


1.  --exclude-dir="drivers" 会将/home/share/kernel目录下的drivers目录忽略;

2. --exclude="*.c"忽略/home/share/kernel下所有c程序文件。


在一行中匹配多个关键词

如:grep -rsn -E '*asm.*@' ./

1. -E选项表明后面的字符串是正则表达式(正则表达式不一定要引号括起来);

2.  *asm.*@这个正则表达式的意思是“匹配某行,该行包含了关键字‘asm’ 和 关键字‘@’”

例如: __asm__ __volatile__("@ atomic64_cmpxchg\n"

.表示任意字符

*表示前一字符重复出现了任意次

.*组合起来就可以表示任意字符串


匹配点字符'.'

在grep中,你要查找的字符串若包含字符'.',那么它会被当成任意字符。如:grep -rsn -I ".AVI",结果可能包含这样的字符串:CONFIG_AVI_WRITE。

这时,要在选项中加入'-F',如:grep -rsnF -I ".AVI"

0 0