Posso aprire un file di testo in Anteprima dal Terminale?

12

So che posso aprire un file con un programma esterno dal Terminale con open , e che funziona per la maggior parte delle applicazioni. Tuttavia, quando provo a utilizzare un comando come open -a Preview info.txt , avvia Preview, ma il file non è aperto.

I am on Mavericks 10.10.2.

Esiste un modo per utilizzare il comando open (o qualsiasi altro comando incorporato) per effettivamente aprire un file in Anteprima dal Terminale?

    
posta Ben 28.04.2015 - 04:25
fonte

3 risposte

12

Anteprima funziona solo con file PDF e alcuni file immagine (png, jpg, gif, tiff, bmp), quindi non sarà possibile aprire un file di testo in Anteprima.

Per aprire il tuo file info.txt dal terminale devi scegliere un'applicazione in grado di aprire file di testo, come TextEdit o qualsiasi altro editor di testo.

Puoi anche usare open -e file , per aprire qualsiasi file usando TextEdit.

    
risposta data 28.04.2015 - 04:58
fonte
4

NB - If there are any further questions about this answer please comment.

Aggiorna

Non c'è niente di sbagliato nelle altre risposte, questo fa leva su un comando di sistema per convertire il file di testo in un tipo di file compatibile per Anteprima (ad esempio PDF).

Dato un file di esempio che puoi eseguire:

cupsfilter info.txt > info.pdf

(per nascondere l'output di debug utilizzare cupsfilter info.txt > info.pdf 2> /dev/null )

Dopo di che si può applicare la risposta originale per aprire il nuovo file info.pdf in Anteprima. Puoi saperne di più eseguendo man cupsfilter . Credo che questo esponga semplicemente la funzionalità di base di Save As PDF che esiste nel sistema di stampa CUPS.

( Origine )

Inoltre

Come indicato nei commenti, è possibile semplicemente reindirizzare il comando per aprire un file direttamente in Anteprima. Questo ha funzionato per me:

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

(Risposta originale)

Per aprire un file di anteprima supportato da Terminal, come pdf, png, jpg, gif, tiff, bmp:

open -a Preview <nameOfSupportedFileType>

Quindi ad esempio:

open -a Preview [email protected]

Apre il png dalla cartella corrente in Anteprima.

    
risposta data 06.12.2016 - 12:07
fonte
2

C'è, ma è necessario prima convertire il file in postscript o PDF. Ad esempio, ho una funzione pman che funziona esattamente come% normaleman, ma apre la pagina man in Preview.app:

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

L'opzione -t dice man che l'output deve essere formattato (usando groff ) come postscript.

Vuoi aprire un file di testo in Preview.app. Per la fase "Converti in PDF" uso paps , che ho installato utilizzando brew :

brew install paps

Dopo, è facile!

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

Questo aprirà info.txt in Anteprima. Se lo fai molto, probabilmente vorrai creare una funzione (nel tuo ~/.bash_profile o simile):

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

Leggi altre domande sui tag