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 nawk
ou 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 nawk
ou 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 ORS
pour 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
\n
dans 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 nl
pour 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 pr
spécifié pour l' -d
argument oublespace - qui doublera tous les sauts de ligne en entrée sur la sortie.
Mais c'est sed
bien aussi.