列出linux中包含* .pdf文件的所有目录,并将结果通过管道传输到文件中

时间:2014-06-18 16:30:38

标签: linux grep

在Linux中是否有办法列出所有包含* .pdf文件的目录,使用类似grep的东西并将所有结果传递给文件?

我想要这样做的原因是我有一个基于静态html的大型网站,我想列出所有包含pdf的网址。

网站结构是典型的树形结构,其中包含许多级别和子级别,这是一个很小的缩减示例:

public_html/
    content/
        help/
        advice/
        marketing/
             campaign1/
                 pdfs/
             campaign2/
                 pdfs/

    shop/
        templates/
            nav/
                guarantees/
        includes/
etc...

我想在这个结构和列表中搜索这里包含的所有pdf并将它们传递给一个文件。示例输出如下所示,每个新结果都在新行上:

public_html/content/marketing/campaign1/pdfs/example1.pdf
public_html/content/marketing/campaign1/pfds/example2.pdf
public_html/shop/templates/nav/guarantees/guarantee.pdf

我只想要public_html文件夹中的pdfs。我不想搜索硬盘上的home,bin,tmp,var etc ...文件夹。

2 个答案:

答案 0 :(得分:4)

你可以通过find命令

来做到这一点
find /public_html -mindepth 1 -iname "*.pdf" -type f > output-file

<强>解释

/public_html     # Directory on which the find operation is going to takesplace.

-mindepth 1      # If mindepth is set to 1, it will search inside subdirectories also.

-iname "*.pdf"   # Name must end with .pdf.

-type f          # Only files.

答案 1 :(得分:0)

希望这会有所帮助

查找&#34;目录&#34; | grep .pdf&gt; OUTPUTFILE

示例:find Desktop / | grep pdf&gt; 1.txt的