Os operadores são: >, >>, <, 2> e |
Os operadores > e >> são usados para redirecionar a saída de um programa para um arquivo. A sintaxe é muito simples que dá pena:
• comando > arquivo
• comando >> arquivo
O operador >
O operador > é usado para sobrescrever um arquivo com a saída do comando. Por exemplo:
$ ls > arqs
A saída não será nenhuma se tudo ocorreu bem. Agora ao dar "ls" normalmente você verá um arquivo a mais que é o 'arqs'. Tente dar um cat:
$ cat arqs
(saída do cmd 'ls')
Você pode usar o comando echo para escrever mensagens personalizadas. Veja como:
$ echo "É só um teste" > arqs
$ cat arqs
É só um teste
Algumas características:
• O arquivo será sobrescrito!
• Caso não se tenha permissão para escrever no arquivo, vai dar erro.
• Caso o arquivo não exista, ele será criado.
O operador >>
Seria a mesma coisa que o >, mas com uma diferença: ele não sobrescreve o arquivo. Neste caso você poderá escrever mais. Dê uma olhada:
$ rm teste
-> É bom, caso o arquivo exista poderá nos atrapalhar um pouco
$ echo "Os arquivos são:" >> teste
$ ls ~ >> teste
$ echo "Fim dos arquivos:" >> teste
$ cat teste
Os arquivos são:
(os arquivos do diretório $HOME)
Fim dos arquivos:
O operador <
A função deste operador é o contrário do >: ao invés de mandar a saída do comando para o arquivo, ele manda o arquivo como entrada do comando. Não entendeu? Dê uma olhadinha:$ less
Vai
digitando
qualquer
coisa
aqui
^D
Então aparecerá o "less" listando o texto página a página. O ^D no final, quer dizer, "Ctrl+D", significa "Fim de arquivo".
Agora tente fazer um arquivo com o nome de "teste", digita qualquer coisa e tenta então:
$ less <>
(saída do comando less)
Seria o mesmo que você digitar tudo que tem no arquivo como entrada, mas como o pessoal do Unix tem bom senso, eles automatizaram isso. O ^D também é automatizado.
Este operador pode facilmente ser substituído pelo pipe (|), junto com o comando 'cat'.
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.
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
Nenhum comentário:
Postar um comentário