【问题标题】:How to combine pwd with ls and grep如何将 pwd 与 ls 和 grep 结合使用
【发布时间】:2022-01-20 13:45:59
【问题描述】:

假设有几个目录,其中有几个不同的文件,我想在所有这些目录中找到一个特定的文件位置。

您如何使用pwdls -laR | grep xyz ,以便我根据所有目录中的大小了解文件位置,而不必在发现文件存在后搜索每个目录在这些目录中的某处。

【问题讨论】:

    标签: linux file terminal directory ls


    【解决方案1】:

    您可以使用带有大小的查找作为过滤器:

    此示例将查找大小大于 3k 的文件:

    find /path -size +3k
    
    • c:字节
    • k:千字节
    • M:兆字节
    • G:千兆字节

    【讨论】:

      【解决方案2】:

      我认为find 命令是您正在寻找的。 递归搜索/home/my-path上大于1k字节的所有文件:

      find /home/my-path -size +1k
      

      要更好地了解如何使用 find 及其大小参数(和其他参数),请参阅 man find

      我不确定我是否完全理解你的意思,但我认为 `find` 命令就是你要找的。

      递归搜索目录/home/my-path中名为foo.txt的文件:

      find /home/my-path -name foo.txt
      

      如果您不确切知道文件的名称,您可以使用通配符(例如,foo*.txt,如果文件名以 foo 开头并以 .txt 结尾)。

      如果您仍然找不到您的文件,您可以删除-name 参数并将输出通过管道传输到grep

      【讨论】:

      • 谢谢,但是如果我不知道名称,有什么方法可以通过使用文件大小找到此文件的位置?由于与其他文件相比,我正在搜索的文件具有独特的大小,当我 ls -laR | grep 1033 看到我找到了该文件但我不知道位置并且当我使用 find 找到它时,我在其他文件中找到了其他几个文件目录。如果我没有意义,我很抱歉
      • 我没有意识到您的搜索是基于大小的。我将编辑我的答案
      猜你喜欢
      • 1970-01-01
      • 2021-04-18
      • 1970-01-01
      • 1970-01-01
      • 2021-08-17
      • 2012-09-18
      • 1970-01-01
      • 2023-01-11
      • 1970-01-01
      相关资源
      最近更新 更多