Você pode usar paste
:
$ paste - - - <data.txt
1 data 2 data 3 data
1 data 2 data 3 data
1 data 2 data 3 data
Eu tenho um arquivo de log que exibe dados de 3 linhas por vez. Assim:
1 data
2 data
3 data
1 data
2 data
3 data
1 data
2 data
3 data
Eu gostaria de pegar cada 3 linhas e exibi-las em uma linha como esta:
1 data 2 data 3 data
1 data 2 data 3 data
1 data 2 data 3 data
Eu gostaria de poder catar este arquivo e enviá-lo através de um comando (s) que fará isso por mim. Eu suspeito que sed ou awk sejam uma solução.
Aqui está uma maneira:
$ perl -pe 's/\n/ / unless $. % 3 == 0' file
1 data 2 data 3 data
1 data 2 data 3 data
1 data 2 data 3 data
Ou também sed
por "N" omitindo duas linhas e, em seguida, adicionando as novas linhas no buffer resultante.
sed 'N;N;s/\n/ /g'