Простой построчный скрипт.
Использование: perl script.pl -i.bak fileglob
Например perl script.pl -i.bak File*MINvac.pdb
Это изменит оригиналфайл и сохраните резервную копию каждого файла с расширением .bak
.Обратите внимание, что если TER
строки появляются слишком близко к концу файла, это вызовет предупреждения.С другой стороны, также будут представлены другие решения.
Если вы не хотите сохранять резервные копии (будьте осторожны, поскольку изменения необратимы!), Используйте -i
.
код:
#!/usr/bin/perl
use v5.10;
use strict;
use warnings;
my $prev;
while (<>) {
if (/^TER/) {
print scalar <>; # print next line
<> for 1 .. 3; # skip 3 lines
$prev = undef; # remove previous line
} else {
print $prev if defined $prev;
$prev = $_;
}
if (eof) { # New file next iteration?
print $prev;
$prev = undef;
}
}