com xclip
:
while IFS= read -r line; do
printf %s "$line" |
xclip -l 1 -quiet -selection clipboard -in
done < file.txt
Substitua %s
por %s\n
se você precisar incluir a nova linha.
Com -l 1
xclip contém a seleção CLIPBOARD
para uma solicitação (por outros aplicativos que fazem Ctrl-V por exemplo) e, em seguida, sai. Você precisa de -quiet
para xclip
para fazer isso em primeiro plano.
Isso não funcionará se você tiver um aplicativo como xclipboard
em execução. Esses aplicativos tentam sempre ser os proprietários da seleção CLIPBOARD
, portanto, eles serão roubados continuamente de xclip
.
Se você tiver esse aplicativo em execução, poderá suspendê-lo ou eliminá-lo ou usar a seleção PRIMARY
( -selection primary
ou omitir -selection
como primary
é o padrão) e colar usando o botão do meio do mouse. Muitos emuladores de terminal podem colar a seleção PRIMARY
em Shift-Insert , outros em cima de Ctrl-Shift-Insert .
Se você quiser saber quem está roubando a seleção CLIPBOARD de xclip
, isso pode funcionar:
xwininfo -id "$(xclip -selection clipboard -o -t CLIENT_WINDOW | od -vAn -tu8)" -wm
contanto que o aplicativo ofereça o destino CLIENT_WINDOW (execute xclip -selection clipboard -o -t TARGETS
para ver se funciona).
Veja também expect
(e dejagnu
para uma estrutura de teste baseada em expect
) e GNU screen
para automatizar a inserção de texto em aplicativos de terminal.