Como inserir múltiplas linhas em branco após cada linha

7

Eu quero inserir 5 linhas em branco após cada linha no meu arquivo de entrada.

foo.txt :

line 1
line 2
line 3

out.txt :

line 1





line 2





line 3    





...

Solaris 5.10, nawk ou sed .

    
por ayrton_senna 05.06.2015 / 21:07

3 respostas

11

Esse é o trabalho para sed :

sed -e 'G;G;G;G;G' file

com awk :

nawk -vORS='\n\n\n\n\n\n' 1 file

Ou versão mais curta:

awk 'ORS="\n\n\n\n\n\n"' file

ou evite definir ORS para cada linha de entrada:

awk 'BEGIN{ORS="\n\n\n\n\n\n"};1' file
    
por 05.06.2015 / 21:13
0

Outro, com printf

cat file.txt | xargs printf "%s\n\n\n\n\n"

Para produzir isso em um arquivo

(cat file.txt | xargs printf "%s\n\n\n\n\n") > out.txt

    
por 07.06.2015 / 14:26
0

Você pode querer usar nl para isso também. Me vem à mente, porque quando eu faço coisas assim, muitas vezes acho útil manter os números de linha originais.

eval "nl -ba -s'$(printf "\n\n\n\n\n'")" <infile

Também pr é especificado para o argumento -d oublespace - que duplicará todas as novas linhas na entrada na saída.

Mas sed é bom também.

    
por 07.06.2015 / 15:49

Tags