我正在尋找一系列代碼來識別一系列文件中缺失的文件並將該列表導出到txt文件。例如:一個名爲1to100000的目錄包含名爲1,2 ... 99999,100000的pdf,但缺少系列中的一些。我希望腳本將這些丟失的文件報告給txt文件。理想情況下,這將是一個可執行的Perl腳本。 謝謝, 傑克查找系列文件中缺失文件的代碼
0
A
回答
3
只是從1到100000計數,並檢查,看看文件是否存在。
foreach my $num (1 .. 100000) {
my $fname = "1to100000/$num.pdf";
print "missing $fname\n" unless -f $fname;
}
+0
我想你會發現100000個統計數據會比100000個readdirs慢很多。 – ysth 2010-07-18 15:56:55
3
使用READDIR:
my @expect = map "$_.pdf", 1..100000;
my %notfound;
@notfound{@expect} =();
opendir my $dirh, "1to100000" or die "Couldn't open directory: $!";
while (my $fname = readdir($dirh)) {
delete $notfound{$fname};
}
for my $fname (@expect) {
if (exists $notfound{$fname}) {
print "missing $fname\n";
}
}
0
這裏是(使用集:: IntSpan)的範圍尋找丟失號碼的例子。
#!/usr/bin/perl
use strict;
use warnings;
use Set::IntSpan;
# the last sector on disk
my $end_sect = 71127179;
# The complete range of sectors on the disk
my $range = Set::IntSpan->new("0-$end_sect");
# The ranges of used sectors
my $used = Set::IntSpan->new(
'0-1048706,1048707-2097414,69078879-71127179');
# Calculates the remaining unused sectors
my $unused = $range->diff($used);
print $unused->run_list;
相關問題
- 1. 從文件中的密鑰列表中查找文件中缺失的密鑰
- 2. 在嵌套文件結構中查找缺失的文件名
- 3. 在一個查詢中查找文件名列表中缺失的數字
- 4. error.log中列出的文件缺失
- 5. 在Java代碼中查找文件
- 6. Oracle SQL查詢以列出文件名序列中缺失的文件名
- 7. 缺失)在參數列表之後。 (行704,文件「代碼」)
- 8. 查找一系列編號文件的第一個丟失的文件
- 9. Ghost代碼?關於HTML文件中缺失的標記
- 10. C++代碼查找給定DLL文件的依賴關係
- 11. SAP缺失文件
- 12. EntityFrameworks.dll文件缺失?
- 13. APK文件缺失
- 14. Android缺失文件
- 15. 在大型PHP文件中查找缺失大括號?
- 16. 檢查Excel文件表中是否有缺失的列
- 17. Unix文件系統查找
- 18. 查找並替換Linux中文件夾中所有文件的代碼
- 19. 查找文本文件的編碼
- 20. 查找月似乎缺少文件
- 21. 導出文件中的files.list()和files.get()文件中的missingLinks缺失
- 22. 在CSV文件中查找失敗
- 23. 如何查找和按名稱系列刪除此文件中的文件
- 24. Laravel缺失索引文件
- 25. git找到缺失的代碼?
- 26. 代碼文件外代碼文件
- 27. 如何更正「IntelliTrace代碼失敗,系統找不到指定的文件」?
- 28. 如何查找Outlook郵件文件(.msg)的代碼頁ID
- 29. 在參數列表後出現錯誤:「缺失」(第11行,文件「代碼」)
- 30. 查找不在列表中的文件
請更清楚。當你說「一個名爲1to100000的目錄包含名爲1,2 ... 99999,100000的pdf」時,這些是PDF文件?什麼定義了這個系列?只有文件名或PDF文件需要解析才能定義系列?更好的問題產生更好的答案... – dawg 2010-07-18 05:30:40
整數。該系列是一組pdf文件。目錄名稱並不真正相關。有一個文件夾包含文件x到x + 10000,這些約束很容易定義。如果我想知道從這個連續系列文件中缺少哪些文件,我該怎麼做? – Jake 2010-07-18 05:44:12