
Я знаю, как перенаправить вывод терминала в файл. Например, если я хочу перечислить все файлы в ~/Documents и вывести в файл с именем test.txt, я бы сделал так:
ls ~/Documents > test.txt
Вопрос в том, могу ли я скопировать вывод в test.txt ПОСЛЕ того, как я выполнил команду? Это означало бы, что мне не нужно было бы знать заранее, хочу ли я скопировать вывод в файл. Я хочу сделать что-то вроде этого:
ls ~/Documents
Тогда это:
<bash command for copying standard output to test.txt>
Любая помощь будет оценена по достоинству. Спасибо.
решение1
Вы можете использовать tee
, но это не обязательно после выполнения предыдущей команды.
ls ~/Documents | tee test.txt
Запишет вывод в сеанс командной строки обычным образом, а также в test.txt.
В качестве альтернативы, если вы работаете в GNU screen
, есть команды для перемещения по буферу прокрутки и копирования/вставки. Подробнее вэтот вопрос суперпользователя.
решение2
вы можете начать сеанс оболочки в окне Emacs, а затем просто скопировать и вставить
(Вы также можете выполнить команду из vi и собрать вывод в текущем буфере vi),
или вы можете скопировать и вставить из окна xterm,
или вы можете запустить сеанс оболочки с помощью script(1), а затем отредактировать вывод сеанса,
или вы можете просто переделать команду.
Надеюсь, это поможет, Клаус.