--- Em shell-script@yahoogrupos.com.br, César Vianna <cesar.via...@...> escreveu > > Opa! Valeu, Cristiano. Funcionou perfeitamente. > > Só não entendi a expressão que remove as quebras. O que é a expressão > :a;$!N; ? e o ta ? > > sed ':a;$!N;s/\n/ /g;ta; s/ID§/\nID§/g'
O comando ':' define uma marcação (no caso, marcação chamada 'a'). O comando 't' é um pulo condicional, que pula até uma marcação se o último s/// funcionou. Poranto, 'ta' pula até a marcação 'a' definida no primeiro comando, se o 's/\n/ /g' funcionou. Agora não me pergunte o porque do '$!N', eu também não entendo. Retirei esta dica do site do Aurélio (http://www.aurelio.net/sed/sed-HOWTO/sed-HOWTO-7.html) faz um bom tempo e nunca compreendi totalmente sua lógica. Alguém da lista pode explicar?