표준 방법이 있는지 정말 모르지만 언젠가는 필요합니다. 그리고이를 처리 할 작은 펄 스크립트를 작성했습니다. 여기 내 코드의 일부입니다 :
#!/usr/bin/perl
$FileName = "du-previous";
$Location = ">";
$Sizes;
# Current +++++++++++++++++++++++++++++
$Current = `du "$Location"`;
open my $CurrentFile, '<', \$Current;
while (<$CurrentFile>) {
chomp;
if (/^([0-9]+)[ \t]+(.*)$/) {
$Sizes{$2} = $1;
}
}
close($CurrentFile);
# Previous ++++++++++++++++++++++++++++
open(FILE, $FileName);
while (<FILE>) {
chomp;
if (/^([0-9]+)[ \t]+(.*)$/) {
my $Size = $Sizes{$2};
$Sizes{$2} = $Size - $1;
}
}
close(FILE);
# Show result +++++++++++++++++++++++++
SHOW: while (($key, $value) = each(%Sizes)) {
if ($value == 0) {
next SHOW;
}
printf("%-10d %s\n", $value, $key);
}
close(FILE);
#Save Current +++++++++++++++++++++++++
open my $CurrentFile, '<', \$Current;
open(FILE, ">$FileName");
while (<$CurrentFile>) {
chomp;
print FILE $_."\n";
}
close($CurrentFile);
close(FILE);
코드는 매우 오류 허용되지 않으므로 조정할 수 있습니다.
기본적으로 코드는 현재 디스크 사용 정보를 가져 와서 실행 한 마지막 시간 ('du-previous'에 저장)과 크기를 비교하고 다른 정보를 인쇄하고 현재 사용 정보를 저장합니다.
마음에 드시면 걸릴 수 있습니다.
희망이 도움이됩니다.
매우 엄격한 코드. 좋아 보인다, 나는 그것을 회전 시키게 될 것이다. 덕분에 –
하지만 두 번째 루프가 누락 된 것처럼 보입니다. 나는 거기에 속한 것이 무엇인지 추측 할 수 있다고 생각한다. –
안녕 스티븐. :-D 두 번째 루프는 무엇입니까? – NawaMan