請問 linux 下有無此種工具
可以搜查兩個目錄,
列出重複的檔案,
刪除之..
(如果能針對 程式檔 作比對會更好)
版主: mufa
<?
$baseDir = realpath($_SERVER["argv"][1]);
$incDir = realpath($_SERVER["argv"][2]);
assert(is_dir($baseDir));
assert(is_dir($incDir));
rmDup($baseDir, $incDir);
function rmDup($baseDir, $incDir) {
print("# scan $baseDir and $incDir\n");
$baseFileList = scandir($baseDir);
unset($baseFileList[array_search('.', $baseFileList)]);
unset($baseFileList[array_search('..', $baseFileList)]);
foreach ($baseFileList as $file) {
print("# check $file...");
if (false == file_exists("$incDir/$file")) {
print(" inexistent\n");
continue;
} elseif (is_dir("$baseDir/$file") and is_dir("$incDir/$file")) {
print(" directory-typed\n");
rmDup("$baseDir/$file", "$incDir/$file");
} elseif (is_file("$baseDir/$file") and is_file("$incDir/$file")) {
if (filemtime("$baseDir/$file") == filemtime("$incDir/$file") and filesize("$baseDir/$file") == filesize("$incDir/$file") and file_get_contents("$baseDir/$file") == file_get_contents("$incDir/$file")) {
print(" duplicated\n");
print("/bin/rm -f $incDir/$file\n");
} else {
print(" different\n");
}
} else {
print(" irregular\n");
continue; // skip irregular files
}
}
print("# finish scanning $baseDir and $incDir\n");
}
?>
正在瀏覽這個版面的使用者:Google [Bot] 和 1 位訪客