He estado usando seddurante bastante tiempo, pero aquí hay una peculiaridad que encontré, que no puedo resolver.
Déjame explicarte mi problema con el caso real.
Escena 1
printf "ls" | xclip -selection clipboard
echo "ls" | xclip -selection clipboard
En el primer comando, canalizo la printfsalida a xclippara que se copie en el portapapeles. Ahora, a printfdiferencia echo, no inserta una nueva línea al final de forma predeterminada. Entonces, si pego este contenido en la terminal, el lscomando que se copia no se ejecuta automáticamente.
En el segundo, hay una nueva línea al final, por lo que al pegar el contenido del portapapeles también se ejecuta el comando en el portapapeles.
Esto no es deseable para mí. Entonces, quería eliminar la nueva línea usando sed, pero falló, como se explica en la escena a continuación.
Escena # 2
echo "ls" | sed -r 's/\n//g' | xclip -selection clipboard
El contenido en el portapapeles todavía contiene nueva línea. Cuando lo pego en la terminal, el comando se ejecuta automáticamente.
También intenté eliminar el carácter de retorno de carro \r. Pero nada Parece que me estoy perdiendo algo muy crucial / básico aquí.

generate-text | xclipcaso. Esta respuesta solo elimina la última línea nueva.