Я новичок в регулярных выражениях. Я пытаюсь написать скрипт для комментирования строк в файле, чтобы при удалении сетевого компьютера мы могли удалить его из наших административных файлов (rdist и т. Д.), Не комментируя их вручную. То, что я пока имею, это
#!/bin/bash
echo $*
NAMES=$*
FILES="/foo/testfile1
/foo/testfile2"
for name in $NAMES
do
sed -i "s/${name}/#&/g" $FILES
done
exit 0
Это работает, когда в тестовых файлах целевая строка появляется в начале строки, но не в том случае, если строка находится где-то посередине. Как я могу сказать sed или regex вставить хеш в начало строки, в которой находится строка?
(Я читал в Интернете кучу учебников, но ближе всего к тому, что я хочу, это карат ^. Из объяснения я получаю, что в многострочном режиме он возвращает только экземпляры строки, расположенные в начале строки.)
Я работаю над RedHat 5.5, использую gedit 2.8.1 в качестве моего текстового редактора и sed 4.1.2.
Заранее благодарю за помощь!