Fala Roberto, como vão as coisa? Tocando muito? Vamos montar uma banda Shell? ;)
Se vc simplesmente quiser excluir os CTRL+M (carriage return (CR) ou octal \015) faça assim: sed -i.veio 's/\015//' arquivo O arquivo será alterado nele mesmo, porém antes, o véio será copiado para arquivo.veio de forma a que vc possa voltar. Ops! Acabei de me lembrar que vc usa AIX e acho que o sed dele não tem a opção -i. Caso não tenha, faça assim: sed -i.veio 's/\015//' arquivo > arquivo.novo e se arquivo.novo estiver do jeito que vc quer faça: mv -f arquivo.novo arquivo Isso (o CTRL+M) normalmente é provocado por um ftp (ou algo do gênero) transferindo um arquivo de uma máquina rwin (aqui fim de linha é LF, lá é CR+LF para ter certeza que vai funcionar ;). Se for este o caso, use no ftp a opção ascii, que a conversão é automática. Qdo for tocar me avise. Eu e minha metade-cara ;) adoramos o show e o jantar daquela noite. -- Abração, Julio *Cursos de Shell e Zenity nos finais de semana: - Em SP ligue (11) 2125-4747; - Em DF ligue (61) 3223-3000; - No RJ brevemente; - Turmas fechadas em outras cidades ligue (21) 8112-9988 * 2009/2/5 Roberto Alves <[email protected]> > Senhores, > creio que já tenham respondido isso zilhões de vezes mas eu estou > tentando no AIX. > Me pareceu que ia ser algo bem simples de se fazer mas não consegui. > > Eu recebo um arquivo que poucas são as vezes que algumas linhas vêm > com aqueles caracteres de controle de carro (^M). > Eu consigo, na mão, trocar tudo e juntar as linhas, no vi. > Basta eu trocar ( 's/^M\n//g' ) os caracteres seguidos de uma nova > linha por nada. > > Como eu posso automatizar isso? > Vale lembrar que para procurar o ^M eu digito contro+v+m. > > Tentei, no linux, e isso funcionou mas quando passei pro AIX não. > > sed -e :a -e N -e 's/\^M\n//' -e ta arquivo > novoarquivo > > Olhando o help do sed no AIX ele me mostrou isso: > > A sample sed script file: > :join > > /\\$/{N > > s/\\\n// > > b join > > } > > Daí resolvi tentar mas não consegui: > > sed > :join > /^M$/{N > s/^M\n// > join > } > arquivo > arquivonovo > > Se alguém puder dar uma sugestão eu agradeço. > > abraços, > Roberto > > [As partes desta mensagem que não continham texto foram removidas]
