Duplicar saída de erro [RESOLVIDO]

1. Duplicar saída de erro [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/03/2011 - 17:30h

Eu preciso filtrar a saída de erro do comando ls, com o comando grep, e que, ao final, o comando retorne (imprima na tela): a saída padrão; a saída de erro filtrada; e a saída de erro original, veja:

ls $local 2>&1 | cut -d":" -f2

Assim, o que retornará (será impresso na tela), vai ser o resultado da filtragem da saída padrão (stdout) com a saída de erro (stderr); mas a saída de erro original e a saída padrão original não serão impressas.

Caso eu faça o seguinte comando:

ls $local 2>&1 1>$3 | cut -d":" -f2

Eu vou passar a saída padrão para uma saída provisória de número 3. Assim, ao término da execução, a minha função irá retornar a saída de erro filtrada e a saída padrão.

Como eu posso fazer para que eu imprima a saída de erro filtrada, a saída de erro original e a saída padrão?

======

Já tentei comandos como:

exec 3<&2
ls $local 3>&1 1>$4 | cut -d":" -f2

e:

ls $local 3>&1 1>&2 2>&3 | cut -d":" -f2

Todos só imprimem a saída padrão e a de erro filtrada (a de erro original não). O que quero realmente é algo como duplicar a saída de erro e filtrar uma de suas cópias, mantendo na outra cópia, a saída de erro original.


  


2. MELHOR RESPOSTA

Marcos Paulo Ferreira
Daemonio

(usa Slackware)

Enviado em 22/03/2011 - 18:21h

O comando tee consegue duplicar a sua entrada para um arquivo e para stdout. Em arquivo você pode colocar stderr, assim uma cópia da entrada vai para stderr e a outra para stdout.

Se eu entendi bem o que você quer fazer, então isso daqui deve funcionar:

$ ls $local |& tee /dev/stderr | cut -f2 -d:

O |& passa o stderr do ls ao invés do stdout.

t+

3. Re: Duplicar saída de erro [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/03/2011 - 18:46h

Cara...

...eu te amo. hehehe (brincadeira)

Deu certinho para o que eu precisava. Eu não tinha conhecimento sobre esse comando tee, e estava lendo AGORA no manual do bash sobre esse tal do |&.

Obrigado


4. Re: Duplicar saída de erro [RESOLVIDO]

Marcos Paulo Ferreira
Daemonio

(usa Slackware)

Enviado em 22/03/2011 - 18:59h

heheehheha.. é isso aí seninha, qualquer coisa tamo aee!! flws

t+






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts