Se tiver certeza de que as definições de vhost estão separadas por uma linha vazia, você pode usar o "modo de parágrafo" de Perl que segmenta seu arquivo de entrada em partes de linhas separadas por uma ou mais linhas vazias e processa o pedaço de arquivo -by-chunk em vez de linha por linha (o que provavelmente está causando falha no script gawk
). Use -n00
(consulte perlrun(1)
) para processar o arquivo "parágrafo a parágrafo":
perl -n00 -e '
/ServerName\s+(.*)/;
$file = $1;
open $fh,">",$file or die "Failed to open file $file for writing: $!\n";
print $fh $_;
close $fh' your_file_here