[Linux] sed retour à la ligne

Jean Benoit jean@::1
Mer 25 Nov 09:01:21 CET 2015


Bonjour,

On Tue, Nov 24, 2015 at 07:32:13PM +0100, Bernard Schoenacker wrote:
> je recherche une instruction avec sed pour réaliser un retour à la
> ligne après 80 caractères ...

Normalement, on fait comme ça :

sed 's/.\{80\}/&\
/g'

L'utilisation du backslash est très fréquente pour les
commandes "i" et "a" (resp. insert et append). Exemple :

sed '/my pattern/a \
here I add one line\
and a second line\
and a third line
'

NB: l'utilisation de "\n" ne marche qu'en GNU sed, pas sur *BSD sed ni
sur Mac OS X.

Il y a une autre possibilité, utiliser "\n" au niveau du shell (mais
attention au quoting, notamment s'il y a des $ dans les expressions) :

newline="\n"
sed "s/.\{80\}/&$newline/g"

-- 
Jean


Plus d'informations sur la liste de diffusion linux