sed - как сделать несколько последовательных замен, но файл процесса только однажды?

Да, сделайте это:

yum -y install $(cat file_name)

31
24.10.2013, 17:45
3 ответа

В GNU (например, на моей машине Ubuntu), просто использование нескольких строк поддерживается и работает хорошо и выглядит хорошим (по моему скромному мнению), поскольку это избегает супер длинных линий, например.

sed -i '/^[[:space:]]*browser.*\.should/s/browser/expect(browser/
        /expect(browser.*\.should/s/\.should/).should/
        s/\.should/\.to/
        s/==/eq/' t1_spec.rb 
14
27.01.2020, 19:37

Около использования точек с запятой можно также дать больше чем одно выражение sed при помощи -e флаг:

sed -i -e 's/expr1/replace1/' -e 's/expr2/replace2/'  t1_spec.rb 
44
27.01.2020, 19:37

Можно использовать точки с запятой для разделения другого substitions между одинарными кавычками, или можно поместить все те команды в файл и указать файл с -f опция к sed.

Используя файл особенно полезно, если Вы собираетесь использовать тот же набор sed команды много раз. Я раньше имел дело с каналом грязных данных, и я заканчивал со временем с 88 названными файлами строки massage.sed для автоматического убирания большинства частых ошибок, я добрался от канала.

5
27.01.2020, 19:37

Теги

Похожие вопросы