用sed或自定义脚本替换$ EDITOR

时间:2013-05-30 17:26:03

标签: bash vim sed editor environment-variables

我需要用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

我怎样才能完成这项任务?

1 个答案:

答案 0 :(得分:0)

你可以为它编写一个脚本:

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

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

另一个解决方案是使用vim中的命令,这些命令非常像。

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

也应该想要你想要的。