나는 그 안에 파일과 서브 디렉토리의 수와 같은 디렉토리의 세부 사항을 얻고 싶다.펄 스크립트를 사용하여 디렉토리 속성을 얻는 방법은 무엇입니까?
예! 명령을 실행하기 위해 역 추적을 사용하는 리눅스 컴퓨터에서 쉽게 할 수 있습니다. 그러나 스크립트 플랫폼을 독립적으로 만들 수있는 방법이 있습니다.
감사 : 당신은 당신이 Path::Class 사용을 고려할 수있는 권한
나는 그 안에 파일과 서브 디렉토리의 수와 같은 디렉토리의 세부 사항을 얻고 싶다.펄 스크립트를 사용하여 디렉토리 속성을 얻는 방법은 무엇입니까?
예! 명령을 실행하기 위해 역 추적을 사용하는 리눅스 컴퓨터에서 쉽게 할 수 있습니다. 그러나 스크립트 플랫폼을 독립적으로 만들 수있는 방법이 있습니다.
감사 : 당신은 당신이 Path::Class 사용을 고려할 수있는 권한
. 이것은 모두 당신에게 쉬운 인터페이스를 제공하고 ("플랫폼"의 "\"과 "/"의 차이를 포함하여) 모든 크로스 플랫폼을 처리합니다.
use Path::Class qw(file dir);
my $dir = dir("/etc");
my $dir_count = 0;
my $file_count = 0;
while (my $file = $dir->next) {
# $file is a Path::Class::File or Path::Class::Dir object
if ($file->is_dir) {
$dir_count++;
} else {
$file_count++;
}
my $mode = $file->stat->mode;
$mode = sprintf '%o', $mode; # convert to octal "0755" form
print "Found $file, with mode $mode\n";
}
print "Found $dir_count dirs and $file_count files\n";
을 얻기 위해 디렉토리의 내용을 얻기 위해 디렉토리 핸들 (opendir 및 readdir)를 사용하고 File::stat 수
파일을 stat 할 수 없다면? 그런 다음 undef-> mode는 작동하지 않지만 $ file_count에서 이미 계산했습니다. – oylenshpeegul
@oslenshpeegul : 어떤 상황에서 파일을 통계 할 수 없습니까? 방금 디렉토리의 내용을 읽었습니다 ... –
내 Path :: Class 예제와 달리이 코드는 Perl 자체와 함께 배포되는 코어 모듈 만 사용하려는 경우 좋은 해결책입니다. –