最近在Linux 下编程时遇到一个需求,“在某个目录下的.c文件中,想查找所有使用函数funcA的地方”。
特将方法记录并分享一下。
1. 命令:
$ grep "被查找字符串" 文件名
所有,我的使用场景中,用到的命令即为:
files path $ grep "funcA" */*.c
即表示在当前目录files path的第一集文件夹中寻找包含“funcA”的.c 文件
2. 扩展
1) 从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名
2) 查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名
3) 查找匹配的行数:
$ grep -c "被查找的字符串" 文件名
4) 从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名
5) 从根目录开始查找所有扩展名为.log的文本文件,并找出包含”error”的行
$ find / -type f -name "*.log" | xargs grep "error"
例子:从当前目录开始查找所有扩展名为.txt的文本文件,并找出包含”balabala”的行
$ find . -name "*.txt" | xargs grep "balabala"