¿Puedo abrir un archivo de texto en Vista previa desde la Terminal?

12

Sé que puedo abrir un archivo con un programa externo desde la Terminal con open, y eso funciona para la mayoría de las aplicaciones. Sin embargo, cuando intento usar un comando como open -a Preview info.txt, se inicia Vista previa, pero el archivo no se abre.

Estoy en Mavericks 10.10.2.

¿Hay alguna manera de usar el opencomando (o cualquier otro comando incorporado) para abrir un archivo en Vista previa desde la Terminal?

Ben
fuente
Vista previa no puede abrir archivos de texto, pero el comando open -a Preview photo.jpgfunciona para mí, abre la imagen en Vista previa.
Lyes

Respuestas:

12

La vista previa solo funciona con archivos PDF y algunos archivos de imagen (png, jpg, gif, tiff, bmp), por lo que no podrá abrir un archivo de texto en la vista previa.

Para abrir su archivo info.txt desde la terminal, debe elegir una aplicación que pueda abrir archivos de texto, como TextEdit o cualquier otro editor de texto.

También puede usar open -e file, para abrir cualquier archivo usando TextEdit.

leandrojmp
fuente
Si no quiere arriesgarse a editar el archivo, intente open -a Safari info.txt.
lhf
1
No creo que la pregunta fuera acerca de abrir un archivo de texto. ¿Todavía queda la pregunta de cómo abrir un archivo pdf en Vista previa desde la terminal? . No respondiste esa pregunta.
Walter
1
No hay ninguna pregunta sobre 'cómo abrir un archivo pdf en la vista previa', como el usuario declaró en su ejemplo, ya sabía cómo abrir archivos en la vista previa desde el terminal, pero no entendía por qué no funcionaba al intentar abre un archivo txt. Acabo de responder explicando qué tipo de archivos puede abrir con Vista previa y cómo abrir cualquier archivo desde la terminal utilizando el editor de texto predeterminado. Además, otros usuarios respondieron lo mismo, utilizando otro ejemplo con un archivo de imagen. Pero tienes un punto, podría haber respondido de una mejor manera.
leandrojmp
5

Nota : si hay más preguntas sobre esta respuesta, por favor comente.

ACTUALIZAR

No hay nada malo con las otras respuestas, esta aprovecha un comando del sistema para convertir el archivo de texto a un tipo de archivo compatible para Vista previa (es decir, PDF).

Dado un archivo de muestra que puede ejecutar:

cupsfilter info.txt > info.pdf

(para ocultar el uso de salida de depuración cupsfilter info.txt > info.pdf 2> /dev/null)

Después de lo cual se puede aplicar la respuesta original para abrir el nuevo info.pdfarchivo en Vista previa. Puedes aprender más corriendo man cupsfilter. Creo que esto simplemente expone la funcionalidad básica Guardar como PDF que existe en el sistema de impresión CUPS.

( Fuente )

Adicionalmente

Como se señaló en los comentarios, uno simplemente puede canalizar el comando para abrir un archivo directamente en Vista previa. Esto funcionó para mí:

cupsfilter info.txt 2> /dev/null | open -f -a Preview

(Respuesta original)

Para abrir un archivo de Vista previa compatible desde Terminal, como pdf, png, jpg, gif, tiff, bmp:

open -a Preview <nameOfSupportedFileType>

Así por ejemplo:

open -a Preview [email protected]

Abre el png desde la carpeta actual en Vista previa.

Tommie C.
fuente
1
¡Agradable! Lo intenté cupsfilterpero no se me ocurrió redirigir stderr (¡doh!). Con la redirección puede canalizar stdout directamente a open( cupsfilter info.txt 2> /dev/null | open -f -a /Applications/Preview.app)
John N
2

Lo hay, pero primero debe convertir el archivo a postscript o PDF. Por ejemplo, tengo una función pmanque funciona exactamente como normal man, pero abre la manpágina en Preview.app:

pman () 
{ 
    man -t $* | open -f -a /Applications/Preview.app
}

La -topción indica manque la salida debe formatearse (usando groff) como postscript.

Desea abrir un archivo de texto en Preview.app. Para la etapa "convertir a PDF" que uso paps, que instalé usando brew:

brew install paps

¡Después de eso, es fácil!

paps info.txt | open -f -a /Applications/Preview.app

Eso se abrirá info.txten Vista previa. Si haces esto mucho, probablemente quieras crear una función (en tu ~/.bash_profileo similar):

preview ()
{
    if [ -z "$*" ]; then
        echo "Usage: preview [FILE]"
    else
        paps $1 | open -f -a /Applications/Preview.app
    fi
}
complete -f -X '!*.txt' preview
John N
fuente