zoukankan      html  css  js  c++  java
  • 搜索当前目录下所有文件包含某关键词的文本/文件名/行号

          工作中希望通过命令能够找到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文件内容查找命令

  • 相关阅读:
    HDOJ-1106
    二进制神题--一千个苹果问题
    HDOJ-2160
    HDOJ-2058
    HDOJ-2045
    HDOJ-2034
    HDOJ-2054
    HDOJ-2036
    F
    B
  • 原文地址:https://www.cnblogs.com/phpdragon/p/5827491.html
Copyright © 2011-2022 走看看