LINUX.ORG.RU

Выполнение скрипта


0

1

Скрипт:

#this script search for frag on a fs
use strict;

#number of files
my $files = 0;
#number of fragment
my $fragments = 0;
#number of fragmented files
my $fragfiles = 0;

#search fs for all file
open (FILES, «find » . $ARGV[0] . " -xdev -type f -print0 |");

$/ = «\0»;

while (defined (my $file = <FILES>)) {
open (FRAG, "-|", «filefrag», $file);
my $res = <FRAG>;
if ($res =~ m/.*:\s+(\d+) extents? found/) {
my $fragment = $1;
$fragments += $fragment;
if ($fragment > 1) {
$fragfiles++;
}
$files++;
} else {
print («$res : not understand for $file.\n»);
}
close (FRAG);
}
close (FILES);

print ( $fragfiles / $files * 100 . «% non contiguous files, » . $fragments / $files . " average fragments.\n");

Выдает:

[soz@localhost Загрузки]$ ./frag.pl /soz
./frag.pl: line 2: use: команда не найдена
./frag.pl: line 5: my: команда не найдена
./frag.pl: line 7: my: команда не найдена
./frag.pl: line 9: my: команда не найдена
./frag.pl: line 12: syntax error near unexpected token `FILES,'
./frag.pl: line 12: `open (FILES, «find » . $ARGV[0] . " -xdev -type f -print0 |"); '
[soz@localhost Загрузки]$


????????

★★

Либо вызывай скрипт командой
perl ./frag.pl
, либо пропиши в скрипте первой строкой shebang:
#!/usr/bin/perl
либо
#!/usr/bin/env perl
либо как-то так

dexpl ★★★★★ ()

[soz@localhost Загрузки]$ perl ./frag.pl /soz

Или добавь это строку с начала файла

#!/usr/bin/perl

koriun ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.