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.