você está aqui: Home  → Arquivo de Mensagens

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



 

 

Veja a relação completa dos artigos de Júlio Neves

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script