【问题标题】:Finding and Removing Unused Files Through Command Line通过命令行查找和删除未使用的文件
【发布时间】:2012-12-20 18:11:14
【问题描述】:

多年来,由于上传随机文件以测试不同的东西,我的网站文件结构变得非常混乱。我有一个我所有文件的列表,例如:

file1.html
another.html
otherstuff.php
cool.jpg
whatsthisdo.js
hmmmm.js

有没有什么方法可以通过命令行输入我的文件列表并在我的网站上搜索所有其他文件的内容并输出我的其他文件中没有提到的文件列表?

例如,如果 cool.jpg 和 hmmmm.js 在我的任何其他文件中都没有提到,那么它可以将它们输出到这样的列表中:

cool.jpg
hmmmm.js

然后上面提到的任何其他文件都没有列出,因为它们在另一个文件的某处被提及。注意:我不希望它只是自动删除未使用的文件,我会手动执行。

另外,当然我有多个文件夹,所以它需要从我当前的位置递归搜索并输出所有未使用(未引用)的文件。

我认为命令行将是最快/最简单的方式,除非有人知道另一个。提前感谢你们提供的任何帮助!

【问题讨论】:

    标签: shell search command-line ssh command


    【解决方案1】:

    是的!使用grep 很容易做到这一点。在这种情况下,您将运行如下命令:

    $ for orphan in `cat orphans.txt`; do \
        echo "Checking for presence of ${orphan} in present directory..." ;
        grep -rl $orphan . ; done
    

    orphans.txt 看起来就像您上面的文件列表,每行一个文件。如果您想不区分大小写,可以将-i 添加到上面的grep。您可能希望在 /var/www 或您的发行版保留其 webroot 的任何地方运行该命令。如果在您看到上面的“正在检查...”并且下面没有匹配项之后,您还没有任何与该名称匹配的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 2021-09-12
      • 2012-03-07
      相关资源
      最近更新 更多