Как перенаправить вывод программы в Редакторе?
У меня есть программа, генерирующая некоторые данные. Он выводит все на стандартную ошибку.
теперь я хотел бы перенаправить вывод в недавно запущенный текстовый редактор в Главное неназванное окно редактирования, которое отображается при запуске. Я пробовал с 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