我有我的程序生成一些数据。 它输出标准错误的一切。
现在我想将输出redirect到一个新启动的文本编辑器,进入启动时显示的主未命名编辑窗口。 我尝试了vim和gedit没有成功。
myprogram | gedit myprogram | gvim
任何人都知道一个X11文本编辑器,将支持这个?
如果你想把你的程序的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 -
我不知道任何支持这个的编辑器,但重定向到一个临时文件可能会更容易。
F=$(mktemp) myprogram >$F gedit $F rm $F
history | kate -i
我最喜欢的编辑器:-)
如前所述,当一个程序不支持这种管道时,最好的方法是在目录/ tmp /中使用临时文件,该目录通常在下次启动时被删除。
history > /tmp/bflmpsvz;mcedit /tmp/bflmpsvz