xsel
depende de sua entrada ou saída estar conectada a um terminal, portanto, redirecionar para e a partir de arquivos geralmente é a coisa certa. Como mencionado por codeforester , a solução no seu caso é executar
xsel -b > file
Você pode tornar sua intenção explícita incluindo -o
(ao exibir o conteúdo da área de transferência) ou -i
(ao inserir a área de transferência). Sem essas opções, se o contexto de xsel
for indeterminado ( isto é, nem a entrada padrão ou a saída padrão estão conectadas a um terminal), ele se comportará no modo -o
: xsel -b < /dev/null > file
funciona como você d esperar, mas xsel -b < file > /dev/null
não.
Você também pode usar xclip
para copiar o conteúdo da área de transferência para um arquivo:
xclip -sel c -o > file
xclip
pode solicitar versões específicas do conteúdo da área de transferência (conhecidas como destinos), dependendo do proprietário da seleção; por exemplo, se você copiou o texto de um navegador da Web, poderá recuperá-lo como HTML usando
xclip -sel -c -o -t text/html > file
A meta especial TARGETS
listará os alvos disponíveis:
xclip -sel -c -o -t TARGETS