Я знаю, что могу открыть файл с помощью внешней программы из терминала с помощью open
, и это работает для большинства приложений. Однако, когда я пытаюсь использовать такую команду open -a Preview info.txt
, она запускает предварительный просмотр, но файл не открывается.
Я на Маверикс 10.10.2.
Есть ли способ использовать эту open
команду (или любую другую встроенную команду), чтобы фактически открыть файл в режиме предварительного просмотра из терминала?
Предварительный просмотр работает только с файлами PDF и некоторыми файлами изображений (png, jpg, gif, tiff, bmp), поэтому вы не сможете открыть текстовый файл в режиме предварительного просмотра.
Чтобы открыть файл info.txt из терминала, вам нужно выбрать приложение, которое может открывать текстовые файлы, например TextEdit или любой другой текстовый редактор.
Вы также можете использовать open -e file
, чтобы открыть любой файл с помощью TextEdit.
open -a Safari info.txt
.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/
Щель
open -a Preview photo.jpg
меня работает команда, открывает изображение в Превью.