Я знаю, что могу открыть файл с помощью внешней программы из Терминала open
, и это работает для большинства приложений. Тем не менее, когда я пытаюсь использовать команду вроде open -a Preview info.txt
, она запускает предварительный просмотр, но файл не открывается.
Я на Маверикс 10.10.2.
Есть ли способ использовать open
команду (или любую другую встроенную команду) для фактического открытия файла в Preview из терминала?
open -a Preview photo.jpg
работает для меня, он открывает изображение в предварительном просмотре.Ответы:
Предварительный просмотр работает только с PDF-файлами и некоторыми файлами изображений (png, jpg, gif, tiff, bmp), поэтому вы не сможете открыть текстовый файл в Preview.
Чтобы открыть файл info.txt из терминала, вам нужно выбрать приложение, которое может открывать текстовые файлы, такие как TextEdit или любой другой текстовый редактор.
Вы также можете использовать
open -e file
, чтобы открыть любой файл с помощью TextEdit.источник
open -a Safari info.txt
.ОБНОВИТЬ
В других ответах нет ничего плохого, в этом используется системная команда для преобразования текстового файла в совместимый тип файла для предварительного просмотра (например, PDF).
На основании примера файла вы можете запустить:
cupsfilter info.txt > info.pdf
(чтобы скрыть использование вывода отладки
cupsfilter info.txt > info.pdf 2> /dev/null
)После чего можно применить исходный ответ, чтобы открыть новый
info.pdf
файл в Preview. Вы можете узнать больше, запустивman cupsfilter
. Я считаю, что это просто раскрывает базовую функциональность «Сохранить как PDF», которая существует в системе печати CUPS.( Источник )
Дополнительно
Как отмечено в комментариях, можно просто направить команду, чтобы открыть файл непосредственно в Preview. Это сработало для меня:
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:-t
Опция указывает ,man
что вывод должен быть отформатирован (используяgroff
) в качестве постскриптума.Вы хотите открыть текстовый файл в Preview.app. Для этапа «конвертировать в PDF» я использую
paps
, который я установил, используяbrew
:После этого это легко!
Это откроется
info.txt
в Preview. Если вы делаете это много, вы, вероятно, захотите создать функцию (в вашей~/.bash_profile
или аналогичной):источник