Могу ли я открыть текстовый файл в режиме предварительного просмотра из терминала?

Я знаю, что могу открыть файл с помощью внешней программы из терминала с помощью open, и это работает для большинства приложений. Однако, когда я пытаюсь использовать такую ​​команду open -a Preview info.txt, она запускает предварительный просмотр, но файл не открывается.

Я на Маверикс 10.10.2.

Есть ли способ использовать эту openкоманду (или любую другую встроенную команду), чтобы фактически открыть файл в режиме предварительного просмотра из терминала?

Превью не может открывать текстовые файлы, но у open -a Preview photo.jpgменя работает команда, открывает изображение в Превью.

Ответы (4)

Предварительный просмотр работает только с файлами PDF и некоторыми файлами изображений (png, jpg, gif, tiff, bmp), поэтому вы не сможете открыть текстовый файл в режиме предварительного просмотра.

Чтобы открыть файл info.txt из терминала, вам нужно выбрать приложение, которое может открывать текстовые файлы, например TextEdit или любой другой текстовый редактор.

Вы также можете использовать open -e file, чтобы открыть любой файл с помощью TextEdit.

Если вы не хотите рисковать редактированием файла, попробуйте open -a Safari info.txt.
Я не думаю, что вопрос был об открытии текстового файла. Остался еще вопрос , как открыть pdf файл в Preview из терминала? . Вы не смогли ответить на этот вопрос.
Вопроса "как открыть pdf файл в предпросмотре" не возникает, как заявил пользователь на своем примере, он уже знал как открывать файлы в превью из терминала, но не понял почему не работало при попытке открыть текстовый файл. Я просто ответил, объяснив, какие файлы вы можете открывать с помощью предварительного просмотра и как открыть любой файл из терминала с помощью текстового редактора по умолчанию. Кроме того, другие пользователи ответили тем же, используя другой пример с файлом изображения. Но вы правы, я мог бы ответить лучше.

NB - Если есть какие-либо дополнительные вопросы по этому ответу, пожалуйста, прокомментируйте.

ОБНОВИТЬ

В других ответах нет ничего плохого, этот использует системную команду для преобразования текстового файла в совместимый тип файла для предварительного просмотра (например, PDF).

Учитывая образец файла, который вы можете запустить:

cupsfilter info.txt > info.pdf

(чтобы скрыть вывод отладки, используйте cupsfilter info.txt > info.pdf 2> /dev/null)

После чего можно применить исходный ответ, чтобы открыть новый info.pdfфайл в режиме предварительного просмотра. Вы можете узнать больше, запустив man cupsfilter. Я считаю, что это просто раскрывает базовую функциональность «Сохранить как PDF», которая существует в системе печати CUPS.

( Источник )

Кроме того

Как отмечено в комментариях, можно просто передать команду для открытия файла непосредственно в предварительный просмотр. Это сработало для меня:

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

(Исходный ответ)

Чтобы открыть поддерживаемый файл предварительного просмотра из терминала, например pdf, png, jpg, gif, tiff, bmp:

open -a Preview <nameOfSupportedFileType>

Так, например:

open -a Preview avatarMask@2x.png

Открывает png из текущей папки в Preview.

Красивый! Я пытался cupsfilter, но мне не пришло в голову перенаправить stderr (дох!). С помощью перенаправления вы можете передать stdout напрямую в open( cupsfilter info.txt 2> /dev/null | open -f -a /Applications/Preview.app)

Есть, но сначала нужно преобразовать файл в postscript или PDF. Например, у меня есть функция, pmanкоторая работает точно так же, как и обычная man, но открывает manстраницу в Preview.app:

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

Опция -tсообщает man, что вывод должен быть отформатирован (используя groff) как постскриптум.

Вы хотите открыть текстовый файл в Preview.app. Для этапа «конвертировать в PDF» я использую paps, который я установил с помощью brew:

brew install paps

После этого легко!

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

Это откроется info.txtв режиме предварительного просмотра. Если вы делаете это часто, вы, вероятно, захотите создать функцию (в вашем ~/.bash_profileили аналогичном):

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

QuickLook сканирует содержимое файлов, прежде чем вы откроете эти файлы. Обычно это просто позволяет быстро просмотреть файл. Но вы также можете использовать эту же технологию из командной строки, чтобы внести изменения в Finder, фактически не открывая файл. Чтобы получить доступ к QuickLook из командной строки, используйте qlmanage.

qlmanage -p ~/Desktop/MyTowel42.pdf

— Чарльз Эдж

Вы можете добавить следующую функцию ~/.bash_aliases:

preview () { qlmanage -p "$*" >& /dev/null; }

Найдено здесь: https://clburlison.com/preview-files-from-terminal/

Это текущий лучший ответ. Какой полезный псевдоним!