Manipulando a clipboard no seu script shell ou no Terminal
Que tal manipular o conteúdo da clipboard (ou das pasteboards, como é seu nome oficial) diretamente no Terminal ou nos seus scripts shell? Pode ser uma grande maneira de implementar gambiarras artifícios técnicos enquanto você faz a transição para formas mais automatizadas de comunicar dados entre seus scripts e os aplicativos do Mac ;-)
Para não deixar o site parado durante uma semana especialmente ocupada por aqui, nada melhor do que uma dica rápida, ainda que ela só vá ter apelo a um público bem específico!
Aliás, antes de prosseguir, uma dica extra: embora o número de posts por semana aqui no BR-Mac seja limitado, o movimento no @brmacblog do Twitter é bem maior, com dicas, diálogo e comentários sobre as notícias de cada dia – se você ainda não segue, deveria!
pbcopy e pbpaste
Para uma dica tão versátil e prática, não há porque tentar esticar o assunto: o comando pbcopy transfere para a pasteboard o que você transmitir a ele pela entrada padrão. Ou seja: se você digitar no Terminal o comando
ls –la | pbcopy
perceberá que a lista dos arquivos do diretório corrente (resultado do “ls –la
”) foi transferida para a pasteboard (pelo | pbcopy
) e estará pronta para ser colada (pressionando ⌘+v) no seu editor de texto ou onde você quiser.
Já o comando pbpaste faz a operação inversa: manda para a sua saída padrão (o terminal, um arquivo, uma pipe ou o que você definir) o conteúdo que estiver na pasteboard. Ou seja: se você copiar (pressionando ⌘+c) várias linhas de texto no seu editor favorito e em seguida digitar no seu Terminal (por exemplo):
pbpaste | wc –c
saberá quantos caracteres estavam presentes no trecho copiado, ou se digitar pbpaste > exemplo.txt
criará um arquivo chamado exemplo.txt com o conteúdo da pasteboard.
Mas o pbpaste tem um detalhe especial: ele só opera quando o conteúdo da pasteboard é textual (texto puro, EPS ou Rich Text). Se você copiar uma imagem para a pasteboard, o pbpaste não produzirá nenhuma saída.
O funcionamento básico é este, e já é suficiente para muitas gambiarras implementações alternativas de comunicação entre aplicações. Mas há alguns detalhes a mais que você encontra digitando man pbcopy
Espero que, ao ver funcionando sua gambiarra programação alternativa, o interesse na funcionalidade faça você logo se motivar para dar um passo a mais e conseguir fazer a comunicação entre aplicativos sem precisar de um humano no meio do caminho apertando ⌘+v ;-)
Comentar
Comentários arquivados