2013-05-30 78 views
0

我需要用sed替换$EDITOR。一个例子可以看这里:
Changing the dhcp IP range in Virbr0's XML file using virsh in bash script

我想的东西后使用SED修改后Vim打开,允许用户查看文本,并添加修改。我会怎么做这样的事情?

我试过这个,但显然它不适合我。

EDITOR='vim - sed -i s/foo/bar/g' virsh net-edit default 

此外,我试图用打开临时文件的自定义脚本替换sed。然后,修改后,我试图打开临时文件vim,但我得到:

Vim: Warning: Output is not to a terminal 

我该如何完成这样的任务?

回答

0

你可以编写脚本,针对它:

cp $1 /tmp/tempfile 
sed 's/foo/bar/g' </tmp/tempfile> $1 
vim $1 

然后设置脚本编辑器命令。

另一种解决方案是使用vim中的命令,它们非常类似。

EDITOR="vim -c %s/foo/bar/g" 

应该也想要你想要的。

+0

如果你特别想先使用sed,你可以通过管道进入vim,例如:'sed's/foo/bar/g' Phylogenesis

+0

你可以,但你不能把它放在$ EDITOR中。 – Noctua

+0

我实现了这样的脚本,但没有vim。一切正常,但我需要在那里。有了vim,我得到了:Vim:警告:输出不是给终端...所有的东西都在python中... –