Estou usando o seguinte script para copiar um arquivo linha por linha na área de transferência:
perl -ne 'm/\t(.+)\n/; open(my $pipe, "|xclip -i"); print {$pipe} ; close($pipe);'\
'print; 'bash -c "read -p continue"'' photo_captions.txt
Caso isso seja confuso, meu arquivo photo_captions.txt contém linhas como:
IMG0001.JPG At the beach
IMG0002.JPG At the bar
Onde as legendas são precedidas por guias.
E o script é apenas capturar tudo após a guia para a nova linha e colocá-lo no xclip, imprimindo isso para o padrão e, em seguida, pedindo ao usuário que pressione enter para continuar na próxima linha. [o uso de bash aqui é uma farsa, ou talvez seja perl, de qualquer forma, isso funciona principalmente para mim].
Como:
At the beach
continue
At the bar
continue
O que eu gostaria de fazer, facilitar muito a minha vida enquanto folheio as fotos que carreguei e colei legendas nelas, é passar esse arquivo inteiro para algum tipo de gerenciador de área de transferência e fazer com que aquele gerente espere para eu colar a linha um, uma vez colada, a próxima pasta será a linha dois, etc, evitando a minha necessidade de voltar e pressionar enter para continuar. FYI o roteiro sem a pausa seria copiar todas as linhas como um blob ou copiar apenas a última linha descartando as anteriores.
Alguém sabe de algum programa desse tipo?
Atualizar
Eu tentei a opção -l
de xclip
, e basicamente minha versão de xclip
não pausa ou espera corretamente; então echo hello|xclip -f -l 1; echo world|xclip -f -l 1;
apenas gera hello
world
e somente cola world
uma vez não colando hello
. No entanto, se eu adicionar o -verbose
flag ele espera, então isso funciona. Exceto no chrome, ele não funciona no navegador Chrome e não cola nada. Então, pode haver algo errado com xclip
ou chrome e ainda estou me perguntando se existe outro programa que faz isso melhor.