У меня есть файл (/usr/test.log
) с кучей строк, в форме
[enable/disable] [name] [stuff]
Например:
enable telnet max_pkt 0 max_payload 0 min_payload 1 disable_function 0 inherit_max_packets 0
enable telnets max_pkt 0 max_payload 0 min_payload 0 disable_function 0 inherit_max_packets 0
disable teredo max_pkt 0 max_payload 0 min_payload 40 disable_function 0 inherit_max_packets 0
При наличии имени и статуса ("включить" или "отключить"), что такое команда sed
чтобы заменить строку, содержащую данное имя, данным статусом? Например, учитывая "telnet" и "отключить", это изменило бы первую строку выше на
disable telnet max_pkt 0 max_payload 0 min_payload 1 disable_function 0 inherit_max_packets 0
Если есть более простые способы программного выполнения этих операций из командной строки без использования sed
, это тоже хорошо.