sed ':a;/0$/{N;s/\n//;ba}'
En un bucle (rama ba
para etiquetar :a
), si la línea actual termina en 0 (/0$/
) agregar la siguiente línea (N
) y elimine la nueva línea interna (s/\n//
).
awk:
awk '{while(/0$/) { getline a; $0=$0 a; sub(/\n/,_) }; print}'
perl -pe '$_.=<>,s/\n// while /0$/'
golpe:
while read line; do
if [ ${line: -1:1} != "0" ] ; then
echo $line
else echo -n $line
fi
done
awk también podría ser corto:
awk '!/0$/{printf $0}/0$/'
prueba:
kent$ cat t
#aasdfasdf
#asbbb0
#asf
#asdf0
#xxxxxx
#bar
kent$ awk '!/0$/{printf $0}/0$/' t
#aasdfasdf#asbbb0
#asf#asdf0
#xxxxxx#bar