Как перенаправить вывод программы в Редакторе?

У меня есть программа, генерирующая некоторые данные. Он выводит все на стандартную ошибку.

теперь я хотел бы перенаправить вывод в недавно запущенный текстовый редактор в Главное неназванное окно редактирования, которое отображается при запуске. Я пробовал с vim и gedit без успеха.

myprogram | gedit
myprogram | gvim

кто-нибудь знает о текстовом редакторе X11, который будет поддерживать это?

5 ответов


если вы хотите перенаправить stderr программы для gvim вы можете сделать:

myprogram 2>&1 | gvim -

и в случае, если вы хотите перенаправить stdout в редакторе вы можете сделать:

myprogram| gvim -

Я пробовал это в Ubuntu 12.04, он работает по желанию:

sudo lshw | gedit &

На Ubuntu 14.04

sudo lshw | gedit - &

чтобы сделать это все в одной строке с любым редактором, создайте временный файл, откройте его с помощью gedit, а затем удалите его, как только gedit откроет его:

echo hello > temp ; gedit temp ; sleep 1 && rm temp &

следующие работы с редактором, таким как vim, но gedit, geany или emacs, похоже, не могут открыть Стандартные входные или временные файлы, созданные

vi <( echo hello )

echo hello | vi -


Я не знаю ни одного редактора, который поддерживает это, но перенаправление в файл Temp может быть проще.

F=$(mktemp)
myprogram >$F
gedit $F
rm $F

history | kate -i

мой любимый редактор :-)

Как уже было сказано, когда программа не поддерживает такой трубопровод, лучше всего использовать временный файл в каталоге / tmp/, который обычно удаляется при следующей загрузке.

history > /tmp/bflmpsvz;mcedit /tmp/bflmpsvz