Как передать вывод командной строки в буфер обмена в OS X

Относится к категориям: Apple, Mac, OS X
Владимир Ш.
При запуске команд в Терминале OS X, они, как правило выводят некоторые результаты, такие, как информация, которую вы пытаетесь посмотреть или подробная информация о запущенной команде. По умолчанию этот вывод отправляется в окно Терминала, где он и отображается, прежде чем команда завершится и вернёт вас в командную строку. Если вы планируете использовать этот вывод для чего-то, вы можете скопировать и вставить его в другой файл, но есть и другие способы сохранить информацию, которая может оказаться полезной.



Один общий подход к сохранению терминального вывода - перенаправить его в файл на диске, что может быть сделано путем добавления к команде символа ">" со следующим за ним путём к файлу, в котором вы хотели бы сохранить результат.

Например, команда "ls" выведет список содержимого текущего каталога. По умолчанию этот список будет отображаться в терминале, но если вы используете следующую команду это сохранит список в файле под названием "files.txt" на рабочий стол:

 ls > ~/Desktop/files.txt

Если документ "files.txt" уже существует, то эта команда перезапишет его ваводом команды "ls", но вы можете использовать два символа ">" ("ls >> ~ / Desktop / files.txt"), чтобы дописать новый вывод в конец файла вместо его полной перезаписи. Конечно, чтобы посмотреть на вывод, вы все равно должны перейти на этот файл и открыть его.

Другой подход заключается в перенаправлении результатов команде "open" и заставить её открыть файл в текстовом редакторе, например в TextEdit. При перенаправлении с символом ">", как отмечалось выше, вывод команды отправляется в файл или перенаправляет вывод в другую команду, поэтому он может управлять выводом (разобрать его, сохранить, распечатать или воздействовать на него иным образом).

Чтобы направить вывод команды, вы просто используете символ вертикальной черты ("|"), так, например, вывод команды "ls" можно передать команде "open", которая задаётся с тегом "-fe" и тем самым открыть его в TextEdit (текстовым редактором по умолчанию):

 ls | open -fe



Когда вы запустите эту команду, вместо вывода в терминале, терминал просто перенаправит его в другую команду и результат будет выведен в простом текстовом окне TextEdit. Вы можете потом легко разобрать или скопировать и вставить текст, так как теперь вы можете работать с ним, используя мышь и клавиши со стрелками.

Открытие вывода в TextEdit удобный способ, но если вы хотите переместить его в другой документ такой, как Microsoft Word или Apple Pages или если вы хотели бы отправить вывод команды кому-нибудь по электронной почте, то вам все равно нужно выбрать его и скопировать. Если это именно то, что все это время вам было нужно, то вы можете пропустить шаг сохранения в текстовый файл, сохранив вывод команды непосредственно в буфер обмена OS X. Чтобы сделать это, можно направить вывод в "pbcopy" вот так:

 ls | pbcopy



После выполнения этой команды вы можете открыть любую программу и вставить, нажав Command-V, и вывод должен быть сохранен в виде текста.
Комментариев - 0
Рейтинг - 2047 баллов
 
Похожие статьи на сайте:
 
Комментариев: 0
 
Имя *:

E-mail:

Текст комментария *: