Linux下利用grep命令快速查找并定位C语言函数声明所在的头文件及其行数

查找first.c和second.c两个文件中含有void的行:grep void first.c second.c

查找当前目录下所有c文件中含有void的行:grep void *.c

查找当前目录下所有文件(不含子文件夹)中含有void的行:grep void * (遇到文件夹会产生警告信息)

查找当前目录下所有文件(不含子文件夹)中含有void的行,忽略子文件夹产生的警告信息:grep void * -d skip

查找当前目录下所有文件及其子文件夹中含有void的行,并显示行号:grep void -nr(-n是指显示行号,-r是指递归遍历文件夹)

查找指定文件夹Documents/codes/C下的所有文件及子文件夹含有void的行,并显示行号:grep void -nr Documents/codes/C

查找指定文件夹Documents/codes/C下的所有文件及子文件夹含有单词void的行,并显示行号:grep void -nrw Documents/codes/C (-w是指匹配整个单词)


正则表达式匹配:grep "[a-z]\{2\}" -nrw (查找含有两个字母的单词所在行和行号,{2}表示匹配两次,{}必须要转义)

忽略二进制文件的匹配结果,只显示文本文件(-I,大写的i):grep "s\{2\}" -Inrw(查找ss)

查找当前文件夹及子文件夹下文件名为shm*.c中以shm开头的单词的行及其行号:grep "shm\w*" -Inrw --include=shm*.c


查找系统头文件库中指定函数名的函数声明所在的头文件和行数:

grep gtk_application_window_new -Inrw /usr/include/gtk-3.0/gtk(查找gtk_application_window_new函数的声明)

grep g_signal_connect -Inrw /usr/include/glib-2.0/ --include=*.h (查找g_signal_connect的声明,只查找*.h头文件)

grep g_application_run -Inrw /usr/include/glib-2.0/ --include=*.h(查找g_application_run的声明)

grep g_signal_ -Inr /usr/include/glib-2.0/ --include=*.h(查找所有含有g_signal_的函数的声明,注意没有-w选项)


查找当前文件夹及子文件夹下的文件中调用了指定函数名函数的c文件和行数:

grep g_signal_ -Inr --include=*.c(函数名部分匹配,只查找c文件)

grep g_signal_connect -Inrw(函数名完全匹配)


查看当前目录及子目录下的所有文件:find

查找当前目录及子目录下所有的c文件的文件名:find -name "*.c"(文件名必须要加引号)

查看/usr/include/gtk-3.0/gtk目录及子目录下的所有文件:find /usr/include/gtk-3.0/gtk

查找/etc目录及子目录下所有的conf文件的文件名:find /etc -name "*.conf"


不仅显示匹配行,还要显示后两行(After):grep void -Inrw -A 2

不仅显示匹配行,还要显示前两行(Before):grep void -Inrw -B 2

不仅显示匹配行,还要显示前后两行(before and after):grep void -Inrw -C 2

大小写不敏感:grep VOID * -i

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

巨大八爪鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值