Возможно, подобные вопросы уже задавались ранее, но я не могу найти решение этой проблемы:
Файл, в котором мне нужно удалить строки:
#includedir /etc/sudoers.d
%wheel ALL=(ALL) NOPASSWD: ALL
pam_ansible ALL=(ALL) NOPASSWD: ALL
awx ALL=(ALL) NOPASSWD: ALL
***f10222 ALL=(ALL) NOPASSWD: ALL
mn2345zp ALL=(ALL) NOPASSWD: ALL
ab1235xy ALL=(ALL) NOPASSWD: ALL***
Примечание: ***
указывает на ту часть, которую я хочу удалить ... ***
в действительности не существует в файле.
Я просто хочу удалить строки такого типа, выделенные жирным шрифтом(или между ***) для нескольких файлов, рассматривая этот файл как один из них.
Что может быть sed для таких строк? чтобы удалить его и иметь только оставшееся содержимое:
#includedir /etc/sudoers.d
%wheel ALL=(ALL) NOPASSWD: ALL
pam_ansible ALL=(ALL) NOPASSWD: ALL
awx ALL=(ALL) NOPASSWD: ALL
Я новичок с этими командами, я попробую: В моем скрипте я попытался добавить
sed '/[a-z0-9]/d' $user
, где пользователь содержитсписок элементов между ***, но он показывает только
sed: невозможно прочитать: нет такого файла или каталога