À l'aide d'un outil de ligne de commande courant comme sed ou awk, est-il possible de joindre toutes les lignes qui se terminent par un caractère donné, comme une barre oblique inverse ?
Par exemple, étant donné le fichier :
foo bar bash baz
dude happy
Je voudrais obtenir cette sortie :
foo bar bash baz
dude happy
Réponse acceptée :
une solution sed plus courte et plus simple :
sed '
: again
/\$/ {
N
s/\n//
t again
}
' textfile
ou une ligne si vous utilisez GNU sed
:
sed ':x; /\$/ { N; s/\n//; tx }' textfile