Я немного знаю о sed. В / etc / nanorc я получил кучу настроек с комментариями (например :).
#bind ^K setting 1
#bind ^F whereis all
#bind ^J setting 3
Итак, я хочу закомментировать только этот параметр, чтобы включить клавишу CTRL + D в nano:
#bind ^F whereis all
Я пробовал это, но похоже, что это не работает:
sed -ri "s/#bind ^F whereis all.*$/\bind ^F whereis all/" /etc/nanorc
Серьезно, я не знаю, как с этим жить.
Комментировать одну строку намного проще с помощью простого текстового редактора, но в любом случае ...
Ваша команда не работает, потому что ^
- специальный символ регулярного выражения, означающий «начало строки» (если не между [
и ]
). Таким образом, ваше регулярное выражение никогда не будет совпадать, потому что вы ожидаете, что начало строки будет в середине строки. Кроме того, вы избегаете b
символ в замене, который не нужен. Используйте вместо этого:
sed -ri "s/#bind \\^F whereis all.*$/bind ^F whereis all/" /etc/nanorc