日期:2014-05-16  浏览次数:20703 次

如何根据关键字查找某个目录下的所有文件
比如grep s xxx/*
可以查找xxx目录下含有字符串s的文件,但如果xxx目录下还有其他目录xxx/xx, xxx/x,grep的这种用法就不好查找到xx和x中的文件
请问大家如何才能根据关键字查找到某个目录下的所有文件么?
------解决方案--------------------
grep -Rl "s" *
------解决方案--------------------
find . 
------解决方案--------------------
 xargs grep -l "main"       

find 进程 递归打印所有文件输送到标准输出(重定向到管道)

xargs进程 读取标准输入(重定向到管道),并且创建子进程执行execlp(grep -l "main" arg1 arg2....)

arg1,arg2 是xargs进程读标准输入解析出来作为grep的命令行参数,fork子进程被继承而来的。