2013-05-30 36 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中... –