4 votos

Acceder al contenido del portapapeles desde la línea de comandos

Quiero explorar en lugar de acceder al contenido del portapapeles desde la interfaz de línea de comandos. Quiero saber si hay algo en él o qué hay en él.

Por ejemplo, si hay una foto me gustaría obtener información similar a la que se obtiene al usar Finder > Editar > Mostrar portapapeles. Incluso muestra imágenes y muestra alguna información.

Ejemplo de portapapeles con algunos colores

¿Hay un comando que pueda usar para lograr un resultado similar (sin renderizar)?

He probado pbpaste, xclip y xsel pero no hacen nada cuando el portapapeles contiene una imagen real (binaria).

De cierta manera, quiero lo contrario de ¿Cómo usar la terminal para copiar un archivo al portapapeles?

6voto

benwiggy Puntos 8

Puedes consultar el administrador de Portapapeles utilizando un script en Swift:

import AppKit
let board = NSPasteboard.general
print(board.types!)

Obviamente, Swift se volverá loco si el resultado está vacío.

Si tienes python3 con la librería pyobjc instalada, puedes hacer lo siguiente:

from AppKit import NSPasteboard
board = NSPasteboard.generalPasteboard()
print(board.types())

La salida de python es un poco más ordenada y más fácil de manejar; aunque ambas son legibles para humanos. Los resultados son un array de tipos de archivos disponibles.

Aquí tienes una salida de python para un PDF copiado en el portapapeles, que contiene PDF, TIFF y texto.

(
    "com.adobe.pdf",
    "Apple PDF pasteboard type",
    "public.tiff",
    "NeXT TIFF v4.0 pasteboard type",
    "dyn.ah62d4rv4gu8y6y4grf0gn5xbrzw1gydcr7u1e3cytf2gn",
    NSFilenamesPboardType,
    "public.file-url",
    "CorePasteboardFlavorType 0x6675726C",
    "dyn.ah62d4rv4gu8yc6durvwwaznwmuuha2pxsvw0e55bsmwca7d3sbwu",
    "Apple URL pasteboard type",
    "public.utf8-plain-text",
    NSStringPboardType
)

1voto

Linc D. Puntos 11

No está claro exactamente lo que deseas, pero asumiré que quieres saber qué tipo de contenido hay en el Portapapeles: texto, imagen o lo que sea.

Tendrías que pegar en un archivo temporal y analizar ese archivo:

pbpaste > temp
file -b temp
rm temp

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X