sed + как прокомментировать параметр, который начинается в начале строки, даже если параметр начинается с табуляции или пробелов

согласно этому:

запустить rpm -q kernel, чтобы показать установленное ядро ​​

затем запустите yum remove kernel , чтобы удалить ядро ​​

перезагрузить компьютер

редактировать :это действительно работает для проблемы @Ron, но убедитесь, что ядро ​​elrepo работает правильно

0
22.09.2020, 13:09
1 ответ

Регулярное выражение, которое вы используете для сопоставления строк, имеет два начальных -из -якоря строки (^), поэтому второе выражение будет соответствовать только фактическим ^символам. Если вы удалите ^перед [[:space:]], выражение будет совпадать, но слишком сильно:

#    number_of_cars_are=$number_of_cars_are
#  LOG "number_of_cars_are=$number_of_cars_are"

LOG "соответствует .*, так что это принято. Я бы опустил начало выражения:

sed  '/^[[:space:]]*number_of_cars_are=/ s/^/#/'

Это соответствует любой строке, начинающейся с любого количества пробельных символов (, включая отсутствие ), за которыми следует number_of_cars_are=. Закомментированные строки не будут соответствовать этому, поэтому они не будут обрабатываться снова, а строки, начинающиеся непосредственно с number, будут совпадать.

4
18.03.2021, 23:03

Теги

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