Comment puis-je utiliser des outils de traitement de texte pour insérer une nouvelle ligne après toutes les N lignes?
Exemple pour N = 2:
CONTRIBUTION:
sadf
asdf
yxcv
cxv
eqrt
asdf
SORTIE:
sadf
asdf
yxcv
cxv
eqrt
asdf
text-processing
LanceBaynes
la source
la source
[[ ]]
tester:while read line; do echo "$line"; ((lines++ % 2)) && echo; done
.sed '0~2 a\ '
ajoute un espace à chaque nouvelle ligne insérée. Si vous voulez ajouter une nouvelle ligne après chaque ligne, l' un de ces travaux de façon similaire:sed '0~1 a\ '
,sed 'a\ '
, ou tout simplementsed G
.En utilisant
paste
la source
... est tout ce dont vous avez besoin ...
Par exemple:
SORTIE:
... (et un blanc suit également le 6) ... ou ...
SORTIE:
(et aucun blanc ne suit le 5)
Si un blanc doit toujours être omis dans un cas de dernière ligne:
la source
Une autre saveur awk:
la source
sed (GNU)
Avec (GNU)
sed
:Court (moche pour N = 100):
man sed explique ~ comme:
sed (autre)
Avec d'autres sed (Count new lines):
Ou, pour être plus portable, écrit comme (supprimer les commentaires pour certaines versions de sed):
awk
Avec
awk
, probablement:la source