Posso abrir um arquivo de texto na visualização no terminal?

12

Eu sei que posso abrir um arquivo com um programa externo do Terminal com opene que funciona para a maioria dos aplicativos. No entanto, quando tento usar um comando como open -a Preview info.txt, ele inicia a Visualização, mas o arquivo não é aberto.

Estou no Mavericks 10.10.2.

Existe uma maneira de usar o opencomando (ou qualquer outro comando interno) para realmente abrir um arquivo na Visualização no Terminal?

Ben
fonte
A visualização não pode abrir arquivos de texto, mas o comando open -a Preview photo.jpgfunciona para mim; ele abre a imagem na visualização.
lixívias

Respostas:

12

A visualização funciona apenas com arquivos PDF e alguns arquivos de imagem (png, jpg, gif, tiff, bmp), para que você não possa abrir um arquivo de texto na visualização.

Para abrir o arquivo info.txt do terminal, você precisa escolher um aplicativo que possa abrir arquivos de texto, como o TextEdit ou qualquer outro editor de texto.

Você também pode usar open -e filepara abrir qualquer arquivo usando o TextEdit.

leandrojmp
fonte
Se você não quiser arriscar editar o arquivo, tente open -a Safari info.txt.
Lhf 28/04
1
Eu não acho que a pergunta era sobre abrir um arquivo de texto. Ainda há a questão de como abrir um arquivo pdf no Preview a partir do terminal? . Você não respondeu a essa pergunta.
218 Walter Walter
1
Não há dúvida de 'como abrir um arquivo pdf na visualização', como o usuário afirmou em seu exemplo, ele já sabia como abrir arquivos no Preview a partir do terminal, mas não entendeu por que não funcionou ao tentar abra um arquivo txt. Acabei de responder explicando que tipo de arquivos você pode abrir com o Preview e como abrir qualquer arquivo do terminal usando o editor de texto padrão. Além disso, outros usuários responderam o mesmo, usando outro exemplo com um arquivo de imagem. Mas você tem razão, eu poderia ter respondido de uma maneira melhor.
leandrojmp
5

NB - Se houver mais perguntas sobre esta resposta, por favor, comente.

ATUALIZAR

Não há nada de errado com as outras respostas, esta utiliza um comando do sistema para converter o arquivo de texto em um tipo de arquivo compatível para visualização (por exemplo, PDF).

Dado um arquivo de amostra, você pode executar:

cupsfilter info.txt > info.pdf

(para ocultar o uso da saída de depuração cupsfilter info.txt > info.pdf 2> /dev/null)

Após o qual se pode aplicar a resposta original para abrir o novo info.pdfarquivo na visualização. Você pode aprender mais executando man cupsfilter. Acredito que isso apenas exponha a funcionalidade básica Salvar como PDF existente no sistema de impressão CUPS.

( Fonte )

Além disso

Conforme observado nos comentários, pode-se simplesmente canalizar o comando para abrir um arquivo diretamente no Preview. Isso funcionou para mim:

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

(Resposta original)

Para abrir um arquivo de visualização compatível do Terminal, como pdf, png, jpg, gif, tiff, bmp:

open -a Preview <nameOfSupportedFileType>

Então, por exemplo:

open -a Preview [email protected]

Abre o png da pasta atual em Visualizar.

Tommie C.
fonte
1
Agradável! Eu tentei, cupsfiltermas não me ocorreu redirecionar o stderr (doh!). Com o redirecionamento, você pode canalizar o stdout diretamente para open( cupsfilter info.txt 2> /dev/null | open -f -a /Applications/Preview.app)
John N
2

Existe, mas você precisa converter o arquivo para postscript ou PDF primeiro. Por exemplo, eu tenho uma função pmanque funciona exatamente como o normal man, mas abre a manpágina no Preview.app:

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

A -topção informa manque a saída precisa ser formatada (usando groff) como postscript.

Você deseja abrir um arquivo de texto no Preview.app. Para o estágio "converter para PDF" eu uso paps, que eu instalei usando brew:

brew install paps

Depois disso, é fácil!

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

Isso será aberto info.txtna visualização. Se você fizer muito isso, provavelmente desejará criar uma função (no seu ~/.bash_profileou 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
fonte