Я сохранил значение с помощью команды оболочки: Например:
timeoutvalue=`echo "timeout=2.0"`
И я должен извлечь значение тайм-аута из другого текста и заменить его на это значение тайм-аута.Например, текст egtest:
<host ip="255.255.255.0" name="testhost" description="hostfortest" connection="xmlrpc" timeout=4.0/>
Я хочу извлечь значение времени ожидания из приведенного выше текста и заменить значение timeout=4.0
на timeout=2.0
(значение, которое я сохранил как переменную в оболочкекоманда).
Моя проблема: (1) для простого теста я хочу заменить значение timeout = 4.0 на $ timeoutvalue.Итак, моя команда:
sed 's/timeout=4.0/$timeoutvalue/g' egtext
.
Но, похоже, текст становится:
<host ip="255.255.255.0" name="testhost" description="hostfortest" connection="xmlrpc" $timeoutvalue/>
Может кто-нибудь сказать мне, почему это неправильно?
(2) Для этой проблемы я должен сначала извлечь из текста grep timeout=4.0
и заменить значение 4.0
на сохраненное значение переменной (в моем примере: 2.0).Я подумал, но я не знаю, какую команду использовать для реализации этого (awk? Sed?), Потому что поле текста не определено (например, в этом тексте тайм-аут в $5
, но, возможно, вдругой текст, он может быть изменен на $6
).Я имею в виду, что это может быть изменено на:
<host ip="255.255.255.0" name="testhost" description="hostfortest" connection="xmlrpc" type="onebox" timeout=4.0/>
Может ли кто-нибудь помочь мне с этим?