Curva silenciosa com / dev / null 2 & 1 quando é canalizada

3

Portanto, eu tenho um curl que é canalizado para um grep e um sed . Onde eu aplicaria o >/dev/null 2>&1 ?

curl www.site.com | grep stuff | sed "other stuff"

No final ou depois da onda?

    
por tzippy 27.07.2012 / 00:08

4 respostas

7

Por favor, seja mais específico qual é o propósito do comando. Eu acho que você quer usar

curl -s www.site.com

para evitar a indicação de progresso e outras coisas. -s executará a mesma ação, mas silenciosamente

Se você tiver que usar > / dev / null 2 > & 1, acho que redirecionaria a saída de curl para o arquivo

curl www.site.com -o file.txt >/dev/null 2>&1
cat file.txt | grep stuff | sed "other stuff"   
    
por 27.07.2012 / 00:13
4

Expliquei um pouco mais de perto: >/dev/null redireciona o SDTOUT (saída padrão) para o "buraco negro" e 2>&1 acrescenta STDERR (saída de erro padrão) ao STDOUT, de modo que ele também vai para o Nirvana. Isso não deixa nada a mostrar: a saída normal, assim como os erros, desaparecem. Então o que você provavelmente pode querer poderia ser

curl -s www.site.com 2>/dev/null | grep stuff | sed "other stuff"

i.e. não redirecionando o STDOUT, apenas suprimindo o STDERR e informando o curl para mostrar apenas o conteúdo indevido, em seguida canalizando-o para grep e finalmente para sed.

Tome cuidado para não introduzir espaços entre "2 >", ou os 2 preferem ser interpretados como parâmetro adicional para curl;)

    
por 27.07.2012 / 10:32
0

Eu encontrei algo semelhante recentemente e precisei avaliar quanto tempo demorou para carregar uma determinada página. Eu usei apenas /dev/null como meu arquivo de saída e que me permite obter todas as estatísticas legais sem imprimir nenhum HTML.

curl www.google.com -o /dev/null

Para mim, também envolvi o comando time para dados extras

time (curl www.google.com -o /dev/null)
    
por 26.07.2014 / 01:04
-1

curl -sw '%{http_code}' www.example.com | tail -n 1

Eu prefiro isso caso a página retorne texto, o que às vezes acontece, por exemplo, ao enrolar uma porta de driver do MongoDB.

    
por 13.07.2017 / 05:59

Tags