como alterar a linha impressa existente no AWK

0

quando executo a linha seguinte, imprime as palavras em nova linha. awk 'BEGIN {print "linha um \ n linha dois \ n linha três"}' gostar linha um linha dois linha três

Como posso imprimir as informações na mesma linha com a linha existente. Por exemplo, durante a execução do loop, ele deve imprimir 'one', depois limpar a linha e imprimir 'two', depois limpar a linha e imprimir 'three' etc. Você pode me ajudar?

    
por manimaran 01.03.2011 / 10:55

2 respostas

1

Use retorno de carro em vez de nova linha

awk 'BEGIN { print "line one\rline two\rline three" }' 

Se uma linha subsequente for menor que uma linha anterior, você poderá imprimir espaços para eliminar o restante:

awk 'BEGIN { print "this is a long line of text\rpad with spaces            " }' 

Se você estiver usando instruções separadas, use printf em vez de print .

    
por 01.03.2011 / 10:58
0

Qual ambiente você está usando para visualizar sua saída? Putty? Você pode precisar reconfigurar o Putty para honrar \ n "newLines". OU se você está realmente no modo Windows / DOS, você precisa

printf "line 1\r\nline 2\r\nline 3\r\n"

Espero que isso ajude.

Como você é um novo usuário, apenas um lembrete gentil para aceitar a resposta que funciona para você ou, pelo menos, adicionar um voto às respostas que ajudam você a compreender.

    
por 06.03.2011 / 07:57

Tags