Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
Semana do Júlio Neves - Ainda o paste
Colaboração: Júlio Neves
Data de Publicação: 24 de Fevereiro de 2005
Ontem nós falamos sobre o comando paste, vamos explorá-lo um pouco mais: Com o comando paste você também pode montar formatações exóticas como esta a seguir:
$ ls | paste -s -d'\t\t\n' arq1 arq2 arq3 arq4 arq5 arq6
O que aconteceu foi o seguinte: foi especificado para o comando paste que ele transformaria linhas em colunas (pela opção -s) e que os seus separadores (é...! Ele aceita mais de um, mas somente um após cada coluna criada pelo comando) seriam uma <TAB>, outra <TAB> e um <ENTER>, gerando desta forma a saída tabulada em 3 colunas. Agora que você já entendeu isto, veja como fazer a mesma coisa, porém de forma mais fácil e menos bizarra e tosca, usando o mesmo comando mas com a seguinte sintaxe:
$ ls | paste - - - arq1 arq2 arq3 arq4 arq5 arq6
E isto acontece porque se ao invés de especificarmos os arquivos colocarmos o sinal de menos (-), o comando paste os substitui pela saída ou entrada padrão conforme o caso. No exemplo anterior os dados foram mandados para a saída padrão (stdout), porque o pipe (|) estava desviando a saída do ls para a entrada padrão (stdin) do paste, mas veja o exemplo a seguir:
$ cat arq1 predisposição privilegiado profissional $ cat arq2 encher mário motor $ cut -c-3 arq1 | paste -d "" - arq2 preencher primário promotor
Neste caso, o cut devolveu as três primeiras letras de cada registro de arq1, o paste foi montado para não ter separador (-d"") e receber a entrada padrão (desviada pelo pipe) no traço (-) gerando a saída juntamente com arq2.
Até amanhã...
Duvidas? julio.neves@gmail.com Deseja fazer curso de Programação em Shell? julio.neves@tecnohall.com.br
Conheça também o livro de Programação Shell de Júlio Neves
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.




