Guilherme, Posta aqui pra gente a saida do comando:
cat -vet teste.txt Pode ser que teu arquivo nao tenha um "\n"... -- Flavio do Carmo Junior 2008/6/6 Guilherme Gall <[EMAIL PROTECTED]>: > Flávio, vê se você pode me ajudar. > > Tentei fazer aqui o que você sugeriu, mas veja o que acontece (vou > colar com prompt e tudo): > > [EMAIL PROTECTED]:~$ cat teste.txt > TRR > 000000002 > [EMAIL PROTECTED]:~$ tr -d '\n' < teste.txt > [EMAIL PROTECTED]:~$ [EMAIL PROTECTED]:~$ > > O comando foi feito exatamente como você descreveu, mas por alguma > razão recebi o texto de meu próprio prompt truncado como resposta. > > Redirecionando para um arquivo e listando seu conteúdo com o cat > acontece a mesma coisa: > > [EMAIL PROTECTED]:~$ cat teste.txt | tr -d '\n' > teste2.txt > [EMAIL PROTECTED]:~$ cat teste2.txt > [EMAIL PROTECTED]:~$ [EMAIL PROTECTED]:~$ > > Engraçado é que abrindo o arquivo teste2.txt em um editor de texto a > resposta está lá como deveria estar (TRR000000002). > > Usando o comando file ele diz que o arquivo não tem terminadores de linha. > > [EMAIL PROTECTED]:~$ file teste2.txt > teste2.txt: ASCII text, with no line terminators > > Seria isso (a falta de terminadores de linha) que está causando a > resposta estranha no prompt? Não tenho nenhum problema parecido com o > do Eduardo para resolver, mas já tive esse problema outras vezes e > queria descobrir o motivo. > > Obrigado, > > Guilherme M Gall > > 2008/6/6 Flavio Junior <[EMAIL PROTECTED]>: > >> Eduardo, boa tarde... >> >> $ é um metacaracter que indica fim-de-linha (EOL), mas não é realmente >> um conteudo no arquivo. >> >> No teu caso, teria que trocar o "\n" (de new-line). >> >> Podes fazer usando o tr >> >> $ tr -d '\n' < arquivo >> >> -d = delete, ou seja, apagar os \n, vai transformar tudo em uma linha só. >> >> -- >> >> Flavio do Carmo Junior aka waKKu >> >> 2008/6/6 Eduardo de Paula <[EMAIL PROTECTED]>: >>> Boa tarde turma... >>> >>> Aproveitando a tread... >>> >>> tenho uma duvida. >>> >>> com um arquivo assim: >>> >>> TRR >>> 000002 >>> >>> como fazer usando sed para juntar as duas linhas? >>> >>> TRR000002 >>> >>> sed 's/TRR$/TRR/g' nao funfa pq? Não é só tirar a quebra de linha >>> depois de TRR? >>> >>> Obrigado. >>> >>> --- Em [email protected], "Flavio Junior" <[EMAIL PROTECTED]> >>> escreveu >>> >>>> >>>> Ta um pouco confuso a ideia, mas tenta isso: >>>> >>>> # tr '\n' ';' < txt | sed 's/;;/\n/g' >>>> >>>> Ve se ajuda. >>>> Eu to entendendo que entre um dado7 e o novo Bloco tem uma linha em >>> branco. >>>> >>>> -- >>>> >>>> Flávio do Carmo Júnior aka waKKu >>>> >>>> >>>> 2008/6/6 Petry <[EMAIL PROTECTED]>: >>>> > Não... >>>> > >>>> > preciso pegar o numero do bloco no ***** Bloco X >>>> > >>>> > o X eh letra ou numero, e tens linhas onde o A é ' >>>> > >>>> > dado3 , dado4 e dado6 nao tem ' ' >>>> > >>>> > mas soh deixando cada bloco numa linha separada por ; ja dava pra >>> trabalhar >>>> > melhor no excel >>>> > >>>> > tipo >>>> > cat txt | sed '/Bloco/,/dado7/ { $ s/$/;} >>>> > >>>> > algo nesse estilo, da linha com Bloco até a linha com dado7, onde >>> tiver >>>> > final de linha ($) substituir por ; >>>> > >>>> > Att., >>>> > JP >>>> > >>>> > 2008/6/6 Flavio Junior <[EMAIL PROTECTED]>: >>>> > >>>> >> lazlo:~# cat txt >>>> >> *********** Bloco 1 >>>> >> dado1 'XXXXXXXXXX'H -- "'AAAAAAA" --, >>>> >> dado2 'AAAAAAAAA'H -- "XXXXXXXXXX" --, >>>> >> dado3 XX, >>>> >> dado4 XX, >>>> >> dado5 'XXXXXXXXXXXXXX'H -- "AAAAAA" --, >>>> >> dado6 XX, >>>> >> dado7 'XXXXXXXXXX'H -- "AAAAA" --, >>>> >> lazlo:~# grep -Eo 'X+' txt | paste -sd\; >>>> >> XXXXXXXXXX;XXXXXXXXXX;XX;XX;XXXXXXXXXXXXXX;XX;XXXXXXXXXX >>>> >> lazlo:~# >>>> >> >>>> >> seria isso? >>>> >> >>>> >> -- >>>> >> >>>> >> Flávio do Carmo Junior aka waKKu >>>> >> >>>> >> 2008/6/6 Petry <[EMAIL PROTECTED] <petrybr%40gmail.com>>: >>>> >> >>>> >> > Senhores, >>>> >> > >>>> >> > Tenho um arquivo onde blocos se repetem do tipo: >>>> >> > >>>> >> > *********** Bloco 1 >>>> >> > dado1 'XXXXXXXXXX'H -- "'AAAAAAA" --, >>>> >> > dado2 'AAAAAAAAA'H -- "XXXXXXXXXX" --, >>>> >> > dado3 XX, >>>> >> > dado4 XX, >>>> >> > dado5 'XXXXXXXXXXXXXX'H -- "AAAAAA" --, >>>> >> > dado6 XX, >>>> >> > dado7 'XXXXXXXXXX'H -- "AAAAA" --, >>>> >> > >>>> >> > *********** Bloco 2 >>>> >> > ( e tudo se repete.....) >>>> >> > >>>> >> > o que preciso é deixar os XXXX em uma linha separados por ; para >>>> >> > exportar >>>> >> > pro excel... >>>> >> > >>>> >> > 1;XXXXXXXXXX;XXXXXXXXX;XX;XX;XXXXXXXXXXX;XX;XXXXXXX >>>> >> > 2;XXXXXXXXXX;XXXXXXXXX;XX;XX;XXXXXXXXXXX;XX;XXXXXXX >>>> >> > (...) >>>> >> > >>>> >> > Usando o SED estou recebendo command garbled :( >>>> >> > >>>> >> > Alguma sugestão de como posso fazer? >>>> >> > >>>> >> > Att., >>>> >> > JP >>>> >> > >>>> >> > [As partes desta mensagem que não continham texto foram removidas] >>>> >> > >>>> >> > >>>> >> >>>> >> >>>> >> >>>> > >>>> > [As partes desta mensagem que não continham texto foram removidas] >>>> > >>>> > >>>> >>> >>> >> >> ------------------------------------ >> >> ---------------------------------------------------------- >> Esta lista não admite a abordagem de outras liguagens de programação, como >> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio >> aviso. >> ---------------------------------------------------------- >> Sair da lista: [EMAIL PROTECTED] >> ---------------------------------------------------------- >> Esta lista é moderada de acordo com o previsto em >> http://www.listas-discussao.cjb.net >> ---------------------------------------------------------- >> Servidor Newsgroup da lista: news.gmane.org >> Grupo: gmane.org.user-groups.programming.shell.brazil >> >> Links do Yahoo! Grupos >> >> >> >
