나는 한 번에 하나의 파일 만 PDB 데이터베이스를 통해 정렬하도록 Perl 프로그램을 만들려고 노력해 왔습니다. 필자가 필요로하는 것은 파일을 읽고, 패턴 매칭을 수행하며, 결과에 따라 파일 이름을 변경하지 않고 파일을 적절한 폴더로 이동시키는 프로그램입니다.perl을 사용하여 PDB 파일 정렬
#!/usr/bin/perl
use File::Basename;
@files = <top8000/rands/*> ;
$file = 0;
$count = 1;
while (open (FILE, $files[$file]))
{
while ( $FILEREAD = <FILE>)
{
if ($FILEREAD =~ "pattern")
{
$count++;
};
};
$string ="$files[$file]";
$filename = fileparse($string);
if ($count >=2) {
rename ($files[$file] , "top8000/randsort/$filename.txt");
};
$count = 1;
$file++;
};
나는 내가 여기에 $string
및 $filename
변수 전에 my
를 사용하는데있어 알고 있지만, 내 프로그램이 실행되지 않으며, 그렇게하지 : 지금까지, 나는이 함께 왔어요 그것이 무엇을하는지 정말로 이해한다. 그 외에는 내 프로그램에 무엇이 잘못되었는지 알 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.
실제로'file'와'count' (달러 기호가없는 변수'$ file')가 잘못 되었습니까? 아니면 그냥 복사/붙여 넣기 문제입니까? – TLP
"파일 이름을 변경하지 않고"라고 말하면 실제로 "확장명을 '.txt'로 추가하여 파일 이름을 변경 했습니까? 이 경우 중요한 차이점이 있습니다. – TLP
오 ... 그걸 고쳤습니다. 아직도 아무것도. 이 경우 원본 파일은 .txt 파일입니다. 나는 파일 이름을 전혀 바꾸지 않고 의미했다. – user2474041