Comment insérer plusieurs lignes vides après chaque ligne

Réponses:

12

C'est le travail pour sed:

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

Avec awk:

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

Ou version plus courte:

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

ou évitez de définir ORSpour chaque ligne d'entrée:

awk 'BEGIN{ORS="\n\n\n\n\n\n"};1' file
cuonglm
la source
Ou cette variante:awk 'ORS="\n\n\n\n\n\n"'
Janis
Ou cette variante:sed 's/$/\n\n\n\n\n/g' file
Dani_l
@Dani_l: Cela ne fonctionne que dans GNU sed
cuonglm
@cuonglm ne le savait pas, merci pour l'info. Quelle partie est spécifique au GNU? le \ n en remplacement?
Dani_l
@Dani_l: Oui, \ndans la partie de remplacement de s///.
cuonglm
0

Un autre, avec printf

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

Pour exporter cela vers un fichier

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

Sergiy Kolodyazhnyy
la source
0

Vous pourriez également vouloir l'utiliser nlpour cela. Cela me vient à l'esprit parce que lorsque je fais des trucs comme ça, je trouve souvent utile de conserver les numéros de ligne d'origine.

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

Est également prspécifié pour l' -dargument oublespace - qui doublera tous les sauts de ligne en entrée sur la sortie.

Mais c'est sedbien aussi.

mikeserv
la source