LINUX.ORG.RU

История изменений

Исправление Kroz, (текущая версия) :

Тогда уже так:

$ sed 's/subvol=[^\t, ]*/subvol='$VOLUME'/'

. - любой символ
* - колличество - любое, точнее 0 и больше.
Сочетание [^\t, ] говорит «не табуляция, не запятая, не пробел».
В итоге ищем то, что начинается с «subvol=» за которым следует любое количество любых символов кроме табуляций, запятых, пробелов.

То есть теперь все равно, в конце оно строки с параметрами или в середине.

Там другая проблема - в переменной присутствует символ слэша и sed от этого впадает в ступор.

Экранировать его:

VOLUME="xxx\/yyy"

Вот за что я не люблю баш - так за то, что регулярно приходится дёргать эту наркоманскую отрыжку (sed)

bash, как раз позволяет от него в некоторых случаях уходить: http://www.opennet.ru/docs/RUS/bash_scripting_guide/x4171.html , ближе к концу.

И вопрос не в sed, а в регулярных выражениях. Пока не освоишь, и правда наркоманским кажется, а когда освоишь, получается благодать. Рекомендую для начала: http://ru.wikipedia.org/wiki/Регулярные_выражения .

Исходная версия Kroz, :

Тогда уже так:

$ sed 's/subvol=[^\t, ]*/subvol='$VOLUME'/'

. - любой символ * - колличество - любое, точнее 0 и больше. Сочетание [^\t, ] говорит «не табуляция, не запятая, не пробел». То есть ищем то, что начинается с «subvol=» за которым следует любое количество любых символов кроме табуляций, запятых, пробелов.

То есть теперь все равно, в конце оно строки с параметрами или в середине.

Там другая проблема - в переменной присутствует символ слэша и sed от этого впадает в ступор.

Экранировать его:

VOLUME="xxx\/yyy"

Вот за что я не люблю баш - так за то, что регулярно приходится дёргать эту наркоманскую отрыжку (sed)

bash, как раз позволяет от него в некоторых случаях уходить: http://www.opennet.ru/docs/RUS/bash_scripting_guide/x4171.html , ближе к концу.

И вопрос не в sed, а в регулярных выражениях. Пока не освоишь, и правда наркоманским кажется, а когда освоишь, получается благодать. Рекомендую для начала: http://ru.wikipedia.org/wiki/Регулярные_выражения .