2013-01-07 68 views
0

多年來,我的網站文件結構從上傳隨機文件到測試不同的東西變得非常混亂。我有我的所有文件,如這個列表:通過命令行查找並刪除未使用的文件

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

有什麼辦法,我可以輸入我通過命令行的文件列表和搜索在我的網站和輸出的列表中的所有其他文件的內容我的其他文件中沒有提及的文件?

例如,如果cool.jpg和hmmmm.js沒有在我的任何其他文件則提到可以輸出他們像這樣的列表:

cool.jpg 
hmmmm.js 

然後任何與其他文件上面提到的沒有列出,因爲它們是在另一個文件中的某處提到的。注意:我不希望它自動刪除未使用的文件,我會手動執行此操作。

另外,當然我有多個文件夾,所以它需要從我當前位置遞歸搜索並輸出所有未使用(未引用)的文件。

我在想命令行是最快/最簡單的方法,除非有人知道另一個。提前感謝您的幫助!

回答

1

是的!這與grep很容易做到。在這種情況下,您將運行像這樣的命令:

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

而且orphans.txt看起來像你上面的文件列表,每行一個文件。如果您想grep不區分大小寫,您可以將-i添加到上面的grep。你可能想在/var/www或你的發行版保持它的webroots的任何地方運行該命令。如果在看到上面的「正在檢查......」並且下面沒有匹配,您沒有任何匹配該名稱的文件。

相關問題