搜索当前目录下所有文件包含某关键词的文本/文件名/行号
Posted PHPdragon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搜索当前目录下所有文件包含某关键词的文本/文件名/行号相关的知识,希望对你有一定的参考价值。
工作中希望通过命令能够找到nginx的一堆conf文件中配置某个域名的conf的文件名;或者找读书笔记里面包含某个关键词的所有读书笔记markdown文档;
或者找到某个公司/作者/演员/tag的所有作品的文章,如果你像我一样,记性很烂,但只是记得某个关键词就想要找到以前的东西,那么看这篇就对了。
这篇文章基于Unix/Linux/MacOS
环境,当然windows如果安装bash命令行也是可以的。通过find命令查找当前目录下所有带有某个字符串的文件名以及行号、或者上下文。
通过find命令查找当前目录下所有带有某个字符串的文件名
➜ find .|xargs grep -rl "google.com" ./pac ./pac.txt ./proxy.txt
要是可以看到当前命中行的内容就好了
➜ find .|xargs grep -r "google.com" ./pac: "google.com": 1, ./pac: "google.com.hk": 1, ./pac.txt: "||inbox.google.com", ./pac.txt: ".google.com",
要是可以打印出行号就好了
➜ find .|xargs grep -rn "google.com" ./pac:1681: "google.com": 1, ./pac:1740: "google.com.hk": 1, ./pac.txt:12: "||inbox.google.com", ./pac.txt:177: ".google.com",
要是可以列出命中行的上下文就完美了
➜ find .|xargs grep -rn1 "google.com" ./pac-1680- "allmovie.com": 1, ./pac:1681: "google.com": 1, ./pac-1682- "badassjs.com": 1, -- -- ./pac-1739- "epochtimes.fr": 1, ./pac:1740: "google.com.hk": 1, ./pac-1741- "wapedia.mobi": 1, --
PS:
http://qiancheng.me/coding/find-xargs-shell.md
linux下的find文件查找命令与grep文件内容查找命令
以上是关于搜索当前目录下所有文件包含某关键词的文本/文件名/行号的主要内容,如果未能解决你的问题,请参考以下文章