sed ':a;/0$/{N;s/\n//;ba}'
En boucle (branche ba
pour étiqueter :a
), si la ligne courante se termine par 0 (/0$/
) ajouter la ligne suivante (N
) et supprimer la nouvelle ligne intérieure (s/\n//
).
awk :
awk '{while(/0$/) { getline a; $0=$0 a; sub(/\n/,_) }; print}'
Perl :
perl -pe '$_.=<>,s/\n// while /0$/'
bash :
while read line; do
if [ ${line: -1:1} != "0" ] ; then
echo $line
else echo -n $line
fi
done
awk pourrait aussi être court :
awk '!/0$/{printf $0}/0$/'
tester :
kent$ cat t
#aasdfasdf
#asbbb0
#asf
#asdf0
#xxxxxx
#bar
kent$ awk '!/0$/{printf $0}/0$/' t
#aasdfasdf#asbbb0
#asf#asdf0
#xxxxxx#bar