perl -alF\n -00ne '
push @{ $A[$_] }, $F[$_] for 0 .. $#F; END{
print join "\t", @$_ for @A;}
' yourfile.txt
-
Opções Perl
-aPara cada registro lido, ele irá autosplificar o registro no separador de campo fornecido na opção-Fe armazenar os campos na matriz@F.-lDefineORS = RS = "\n"-F\nDefineFS = "\n"-00DefineRS = ", ativandoparagraph-mode"RS. Observe que isso anula o-lde uma configuração anterior por meio de-n.-eConfigura um arquivo implícito lido em loop + impressão de doação, a menos que seja solicitado.PerlAplique o código@Afornecido em cada registro do arquivo de entrada. -
Trabalhando
list-of-listéLoL, umLoL, em que armazenamos as linhas correspondentes de cada registro. Então, as primeiras linhas de cada registro são armazenadas em $ A [0], as segundas linhas de cada registro entram em $ A [1], ...Então, quando tivermos esgotado a leitura em todos os registros do arquivo, simplesmente imprimiremos a matriz cujos elementos são
TAB, adequadamente unidos por %code% .
Resultados
HEADER1 HEADER2 HEADER3 HEADER4
item1 item1 item1 item1
item2 item2 item2 item2
