![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| ksh - ler o arquivo com os principais espaços | Momi | Programação Shell Script e | 2 | 03-17-2008 03:02 |
| Stripping principais espaços à direita justificada nome | Marcia P | UNIX para Dummies Perguntas & Respostas | 2 | 02-28-2006 10:32 |
| Removendo líder e os espaços de dados entre as tags em XML. | jhmr7 | UNIX para Dummies Perguntas & Respostas | 2 | 05-18-2005 11:27 |
| Descarne líder e os espaços em uma única variável com espaços incorporados shell | jerardfjay | Programação Shell Script e | 6 | 03-07-2005 02:24 |
| Liderar e os espaços | sleepster | Programação Shell Script e | 7 | 10-29-2003 11:48 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
remover principais espaços de uma linha
Oi amigos
Preciso de alguma ajuda, Eu tenho um arquivo que tem o seguinte aspecto TEMP 014637065 014637065 517502 517502 RTE 517502 517502 RTE AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635 ANOTHER_TEST 12 5433 FTHH 5653 833 ENSAIO 123 123 3235 5353 353 53 35 353 535 3 YTERS GJK JKLS sempre que há um espaço levando em linha (aqui há um espaço no início da linha 2 e 6, que podem não ser visíveis em discussão), eu preciso remover isso e anexar à linha anterior. Isso significa que eu quero um arquivo de saída que parece TEMP 014637065 014637065 517502 517502 RTE 517502 517502 RTE AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635 ANOTHER_TEST 12 5433 FTHH 5653 833 ENSAIO 123 123 3235 5353 353 53 35 353 535 3 YTERS GJK JKLS |
|
||||
|
Citação:
Tentei com a opção acima é dando erro de sintaxe para segunda linha mensagens de erro são ******* awk: erro de sintaxe próximo a linha 1 awk: bailing out perto da linha 1 ******* Tentei também com awk '/ ^ / p (print $ 0;) (próxima p \u003d $ 0) END (print)', mas aqui não vai considerar as linhas, sem um líder espaço pls help Última edição por lijojoseph; em 03/15/2008 09:12.. |
|
||||
|
Frank,
graças um lote que está trabalhando perfeitamente com nawk. Aqui também tenho um pequeno problema se houver espaços levando em 2 linhas consecutivas, é não considerar o segundo um .. que é *** Arquivo de entrada TEMP 014637065 014637065 517502 517502 RTE 517502 517502 RTE 226 AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635 ANOTHER_TEST 12 5433 FTHH 5653 833 ENSAIO 123 123 3235 5353 353 53 35 353 535 3 YTERS GJK JKLS se líder espaços existem nas linhas 2 e 3, em seguida, a saída deve ser parecida TEMP 014637065 014637065 517502 517502 RTE 517502 517502 RTE 2634 AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635 ANOTHER_TEST 12 5433 FTHH 5653 833 ENSAIO 123 123 3235 5353 353 53 35 353 535 3 YTERS GJK JKLS Pode me ajudar pls? Também você pode apenas explane awk-me o código, se tiver tempo Mais uma vez, muito obrigado por ajudar youe ![]() |
|
||||
|
Tente este: Código:
awk '
/^ /{p=p $0;next}
p{print p}
{p=$0}
END{print p}
' file
Explaination do código: / ^ / (P \u003d p $ 0;) próxima # Concatenar linhas que começam com um espaço com a linha anterior e ler próxima linha Os próximos comandos efeito das outras linhas: p (p) imprimir # Imprimir a linha anterior se definir (p \u003d $ 0) # Conjunto p END (print p) # Não há mais linhas, imprimir linha anterior (es) Utilize nawk / ou usr/xpg4/bin/awk no Solaris Atenciosamente |
![]() |
| Marcadores |
| Tags |
| solaris |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|