pbcopy & pbpaste: Manipulando a área de transferência a partir da linha de comando
Índice:
Copiar e colar são necessidades absolutas para praticamente todos os usuários de computador e, se você estiver trabalhando frequentemente na linha de comando, desejará saber como manipular a área de transferência do Mac OS X diretamente do prompt do terminal. É para isso que servem os comandos pbcopy e pbpaste do Mac e, como você deve ter adivinhado, os dois comandos fazem exatamente o que parecem, pbcopy é para copiar e pbpaste é para colar através da linha de comando.Eles são realmente muito poderosos e você certamente os achará úteis na próxima vez que sair com seu bash, tcsh, zsh ou qualquer outro prompt de shell preferido.
Faremos uma rápida explicação sobre como usar pbcopy e pbpaste para manipular dados da área de transferência, com alguns exemplos indicando como redirecionar a saída de comandos do terminal como entrada na área de transferência e, claro, como remova o conteúdo da área de transferência na linha de comando com pbpaste.
Usando pbcopy e pbpaste da linha de comando no Mac
pbcopy: pega a entrada padrão e a coloca no buffer da área de transferência
pbcopy é bastante simples de usar, basicamente direciona algo para ele e ele o copia para o buffer da área de transferência. Isso pode ser acessado por meio de pbpaste ou do comando colar padrão do Finder (comando-v). Veja como usá-lo:
$ pbcopy < file.txt
É isso aí, agora o conteúdo do arquivo.txt estará na sua área de transferência, pronto para colar onde quiser. Mas o pbcopy é muito mais poderoso do que isso e você também pode direcionar a saída de comandos e programas a serem copiados. Aqui está um exemplo com o comando 'ps':
$ ps aux | pbcopy
Isso canaliza os resultados do comando ps para a área de transferência, mais uma vez, pode ser colado em qualquer lugar. Se você quiser filtrar um pouco seus resultados, você pode fazer isso também. Um exemplo usando o comando grep é:
$ ps aux | grep raiz | pbcopy
Isso canaliza os resultados do comando 'ps aux', mas filtra especificamente para 'root' e copia apenas esses resultados para a área de transferência. Legal né?
pbpaste: pega os dados do buffer da área de transferência e os grava na saída padrão
pbpaste é igualmente simples de usar, ele irá recuperar tudo o que você colocou no buffer da área de transferência e cuspi-lo. Em sua forma mais simples, basta digitar:
$ pbpaste
Isso imprimirá todos os dados que você copiou do comando pbcopy ou do comando de cópia do Finder (comando-c). Você pode facilmente rotear essa saída para um arquivo por meio da linha de comando para acessar mais tarde, se desejar, com este comando simples:
$ pbpaste > pastetest.txt
Filtrar o que é colado é muito útil, e a estrutura de comando é muito parecida com o que vimos anteriormente com pbcopy. Filtraremos por 'rcp', mas é claro que você pode filtrar por qualquer coisa que desejar
$ pbpaste | grep rcp
O que você verá colado é apenas o que corresponde à sua pesquisa por 'rcp' dentro dos dados da área de transferência.
Há muito mais uso a ser feito com pbcopy e pbpaste, mas isso deve lhe dar uma ideia geral de como usá-lo e talvez dar algumas ideias para implementá-los em sua própria produtividade.A captura de tela simplesmente demonstra que você pode copiar e colar da linha de comando em um aplicativo Finder (neste caso, TextEdit) sem perder nenhuma formatação.
E sim, você pode usar os comandos pbcopy e pbpaste no terminal e, em seguida, interagir com eles novamente a partir da GUI do MacOS usando os atalhos de teclado padrão para copiar e colar do Mac de Command+C e Command+ v. Também vai na outra direção, uma cópia da GUI pode ser colada com pbpaste na linha de comando.
Os usuários interessados em aprender usos mais poderosos de pbcopy e pbpaste para modificar a área de trabalho do Mac OS X por meio da linha de comando são incentivados a revisar as páginas de manual dos comandos, que são basicamente intercambiáveis e cobrem os dois lados do comando. O acesso é facilmente obtido por meio de 'man pbcopy' ou 'man pbpaste', onde você verá mais detalhes sobre o uso do comando, bem como outras opções de como usar os comandos, ajustar a codificação, remover ou manter detalhes de rich text e muito mais.