Je veux insérer 5 lignes vides après chaque ligne dans mon fichier d'entrée.
foo.txt:
line 1
line 2
line 3
out.txt:
line 1
line 2
line 3    
...
Solaris 5.10 nawkou sed.
Je veux insérer 5 lignes vides après chaque ligne dans mon fichier d'entrée.
foo.txt:
line 1
line 2
line 3
out.txt:
line 1
line 2
line 3    
...
Solaris 5.10 nawkou sed.
Réponses:
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
              awk 'ORS="\n\n\n\n\n\n"'
                    sed 's/$/\n\n\n\n\n/g' file
                    \ndans la partie de remplacement de s///.
                    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
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.