加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux – grep递归 – 不一致

发布时间:2021-01-08 06:43:13 所属栏目:Linux 来源:网络整理
导读:我正在寻找从根目录递归的特定字符串(主要是.c文件). 当我使用它时,我几乎立即得到一个列表. grep -rl "F_capture" . 但是,如果我尝试通过搜索.c文件来加快速度: grep -r --include=*.c "F_capture" . 我最终得到了一系列递归目录警告,如下所示: grep: w

我正在寻找从根目录递归的特定字符串(主要是.c文件).

当我使用它时,我几乎立即得到一个列表.

grep -rl "F_capture" .

但是,如果我尝试通过搜索.c文件来加快速度:

grep -r --include=*.c "F_capture" .

我最终得到了一系列递归目录警告,如下所示:

grep: warning: ./sys/block/fd0/device/bus/drivers/i8042/i8042/serio1/input:event1/subsystem/event3/device/bus/drivers/pcnet32/0000:00:03.0/subsystem: recursive directory loop

当我尝试使用-s参数来抑制警告时,我没有得到警告,但我也没有得到任何回复 – 似乎它已经变成永远不会降落.

grep -rsl --include="*.c" "F_capture" .

所以我想我的问题是,为什么我使用的第一个grep会立即返回一些内容,而我针对特定类型文件的其他类型似乎挂断了.我认为有针对性的搜索会更快. 最佳答案 你可以试试这个:

find . -type f -name "*.c" -print|xargs grep -l "F_capture"

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!