Filtra el contenido del portapapeles sin usar un file intermedio

Estoy tratando de modificar el text que está en mi portapapeles, eliminar ciertas líneas que contienen algunas cadenas y luego get la salida para una mayor manipulación (prefiero hacer frente a mi portapapeles solo si lo necesito). Estaba pensando algo como esto:

cat > swapfile ##Paste all grep -v string swapfile ## Read all rm swapfile 

Intento evitar la creación del file y hacer todo en el shell stdin / out. Intenté usar pipes, networkingirections, grep / sed desde la input, pero ninguno resultó en la printing de la input sin el patrón no deseado.

 xsel -o -p | grep -v string 

Lo anterior usa la utilidad xsel para capturar desde el portapapeles y enviar la selección primaria actual a stdout. Luego puede modificar la salida con grep (o sed o awk) como lo desee.

Si no quiere la selección principal, reemplace "-p" con "-s" para la selección secundaria, o "-c" para la selección del portapapeles.

En una distribución debian o similar, puede get xsel con apt-get install xsel .

Lo anterior envía su salida a stdout. Si desea capturar la salida directamente en la selección, use:

 xsel -o -p | grep -v string | xsel -i -s 

La opción "-i" le dice a xsel que obtenga input de stdin y la guarda en la selección. "-s" de nuevo especifica la selección secundaria.