sed ':a;/0$/{N;s/\n//;ba}'
In un ciclo (ramo ba
per etichettare :a
), se la riga corrente termina con 0 (/0$/
) aggiunge la riga successiva (N
) e rimuovere la nuova riga interna (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
anche awk potrebbe essere breve:
awk '!/0$/{printf $0}/0$/'
prova:
kent$ cat t
#aasdfasdf
#asbbb0
#asf
#asdf0
#xxxxxx
#bar
kent$ awk '!/0$/{printf $0}/0$/' t
#aasdfasdf#asbbb0
#asf#asdf0
#xxxxxx#bar