2013-05-30 2 views
0

Мне нужно заменить $EDITOR на sed. Пример можно увидеть здесь:
Changing the dhcp IP range in Virbr0's XML file using virsh in bash script

Я хотел бы открыть 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 я получил: Vim: Предупреждение: выход не для терминала ... Все реализовано в python ... –

Смежные вопросы