首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >查找包含给定文本的文件

查找包含给定文本的文件
EN

Stack Overflow用户
提问于 2011-05-27 21:50:29
回答 5查看 159.1K关注 0票数 173

在bash中,我希望返回包含不区分大小写的字符串"document.cookie" | "setcookie"的每个.php|.html|.js类型文件的文件名(以及文件的路径

我该怎么做呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-05-27 22:03:22

代码语言:javascript
复制
egrep -ir --include=*.{php,html,js} "(document.cookie|setcookie)" .

r标志表示递归搜索(搜索子目录)。i标志表示不区分大小写。

如果您只想要文件名,请添加l (小写L)标志:

代码语言:javascript
复制
egrep -lir --include=*.{php,html,js} "(document.cookie|setcookie)" .
票数 240
EN

Stack Overflow用户

发布于 2011-05-27 21:57:56

试试像grep -r -n -i --include="*.html *.php *.js" searchstrinhere .这样的东西

-i让它变得毫无意义

末尾的.表示您希望从当前目录开始,这可以替换为任何目录。

-r的意思是递归地沿着目录树执行此操作

-n打印匹配的行号。

--include允许您添加文件名、扩展名。接受通配符

有关更多信息,请参阅:http://www.gnu.org/software/grep/

票数 64
EN

Stack Overflow用户

发布于 2011-05-27 21:58:47

对字符串执行findgrep

这将在正则表达式'(document\.cookie|setcookie)'的/starting/path和grep中找到您的3种类型的所有文件。为了可读性,用反斜杠将代码分成两行。

代码语言:javascript
复制
find /starting/path -type f -name "*.php" -o -name "*.html" -o -name "*.js" | \
 xargs egrep -i '(document\.cookie|setcookie)'
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6153152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档