Operadores de redirecionamento

ice

Operadores de redirecionamento são fundamentos essenciais no mundo *NIX, tanto que quase todo shell script mais avançado usa e abusa desse recurso. Para descobrir o que cada um dos operadores faz, você pode dar uma olhadinha neste artigo.

[ Hits: 68.704 ]

Por: Iuri Cernov em 18/11/2004


O pipe



Este é, com certeza, o mais importante de todos os operadores de redirecionamento. O pipe é bem complexo ao se comparar com os outros operadores, mas vale è pena conhecer.

A sintaxe:

$ comando1 | comando2

O que o pipe faz é redirecionar a saída de comando1 para entrada de comando2. Não entendeu? Veja um exemplo:

Imagine que o comando "xyz" mostre a frase "Teste de pipe" e o comando "separa" transforma cada espaço em um '-'. Veja:

$ xyz Teste de pipe $ separa isto é um teste! ^D   <-- Isto foi digitado pelo teclado!!!!!!!!
isto-é-um-teste! $ _

Agora se quisermos fazer aparecer a saída de xyz ("Teste de pipe") ser separado por '-'s? Basta:

$ xyz | separa
Teste-de-pipe

Esta é uma noção. Veja alguns comandos que trabalham muito bem com o pipe:
  • echo
  • cat
  • less
  • more
  • sed
  • awk
  • etc

Bom, o artigo fica por aqui. Espero que tenha dado uma noção para todos que querem se aprofundar no mundo do #!/bin/sh. :)

Página anterior    

Páginas do artigo
   1. Introdução
   2. Os operadores > e >>
   3. O operador <
   4. O operador 2>
   5. O pipe
Outros artigos deste autor

Criando uma calculadora com o Glade

Incrementando seus scripts com dialog

Leitura recomendada

Recebendo seu IP dinâmico via email

Expressões regulares no Bash : parte I

Redirecionamentos, Pipes e Fluxos

Monitorar servidores e enviar alertas por e-mail e SMS

Utilizando "expr" para "String Matching" através de expressões regulares em shell

  
Comentários
[1] Comentário enviado por removido em 18/11/2004 - 02:34h

Muito bom artigo, Iuri. Queria saber se vc ou alguém conhece e pode indicar algum livro sobre esse assunto (Shell Script). Ok?
[]s!

Wesley Caiapó

[2] Comentário enviado por danillofa em 18/11/2004 - 08:16h

Cara acho que em qualquer lugar que vc perguntar sobre um bom livro de shell irao te indicar o do Julio Neves
Programação Shell Linux 4a. edição
http://www.brasport.com.br/livro.asp?Cod=85-7452-164-7

flws
t+

Danillo

[3] Comentário enviado por pop_lamen em 18/11/2004 - 14:48h

Bom o artigo, mas faltou muita coisa....
Por exemplo faltou cobrir o redirecionamento de fluxo para devices,
exemplo:
echo fuck > /dev/null
dentre outors.
Mas mesmo assim ta valendo, t+!

[4] Comentário enviado por jllucca em 19/11/2004 - 13:31h

Olá,

cara o artigo ta excelente. Só discordo do "2>" ser um operador. No mundo *nux, nós temos normalmente três arquivos abertos(não tenho certeza da ordem stdin e stdout): 0(stdin), 1(stdout), 2(stderr). Assim, quando fazemos "2>algo" estamos fazendo o dispositivo "/dev/stderr" enviar suas mensagens para algo. Essa parte teria sido uma ótima ancora pra voce falar de redirecionamento para dispositivos como o pop_lamen já comentou. Assim, voce, ao inves de stderr, poderia usar:

fprintf(2, "Erro ao abrir %s\n", fl); // em C

[]'s

[5] Comentário enviado por mailws em 21/11/2005 - 04:46h

Não entendi direito esse PIPE

[6] Comentário enviado por rmllo em 29/05/2011 - 13:06h

Parabéns pelo artigo foi de grande ajuda.
Valeu.

[7] Comentário enviado por Stuani255 em 27/05/2016 - 11:30h

Alguem pode dar um exemplo usando redirecionamento criando um arquivo txt? Estou começando agora a aprender shell script e pra mim esses comandos são meio vagos.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts