如何在linux中使用grep查找包含特定命令的所有文件?

时间:2014-10-25 23:30:07

标签: linux shell grep

我试图在指定的目录树中打印每个C程序的名称,该目录树包含" goto"命令。

换句话说,它必须打印包含" goto"的每个文件的名称。一句话。 这是我的工作:

for fullname in `grep -r -l "\<goto\>"./*.c`;
do
  echo `basename $fullname`
done

但在运行时我只能

  

&#34;找不到命令&#34;。

2 个答案:

答案 0 :(得分:0)

假设您还要搜索嵌套目录,这应该可以正常工作

for fullname in $(grep -r -l "goto" . | grep ".*\.c$"); do
    echo $(basename $fullname)
done

答案 1 :(得分:0)

我知道这已得到解答,但以下内容适用于非嵌套目录。

grep "regex" /path/*

显示

t.txt:Loren ip sum let etum REGEX
v.c:do_regex_match("regex","bleh");