BSDPORTAL.RU
http://bsdportal.ru/

Скрипт конфигурирования
http://bsdportal.ru/viewtopic.php?f=59&t=27342
Страница 1 из 1

Автор:  exec [ Ср 29 апр, 2015 2:24 am ]
Заголовок сообщения:  Скрипт конфигурирования

Периодически возникает необходимость автоматизировать установку и настройку чего либо. Приходится писать скрипты. Но вот не задача, не как не соображу как на Csh комментарий "#" уберать скриптом.
Например есть такая строка:
#UseDNS no
Надо из скрипта найти эту строку и удалить решетку.

Пока что у меня вариант только с сохранением в другой файл и переименование в исходный.

Автор:  grayich [ Ср 29 апр, 2015 9:19 am ]
Заголовок сообщения:  Re: Скрипт конфигурирования

это не вопрос csh, а вопрос утилит
Код:
gsed -i '/UseDNS/ s/^#*//' файл_в_котором_менять.txt

решение по сути тоже, что и тут viewtopic.php?f=58&t=27338#p168398
изучай утилиты grep sed awk и т.п.

Автор:  exec [ Ср 29 апр, 2015 1:58 pm ]
Заголовок сообщения:  Re: Скрипт конфигурирования

sed наверное? описка

изучаю...
конструкцию s/// знаю, а вот конструкцию // не знаю. ну и их взаимодествие

http://www.lissyara.su/doc/man/sed/
пункт 2. но там как то тяжко для восприятия

отправьте ссылочку где почитать.
регулятку тоже постоянно смотрю... тяжко с логикой конечно...

ну и появляется вопрос а как поставить # ?

sed -i '/UseDNS/ s/^.*/#$&/' файл_в_котором_менять.txt

что после решетки ставить?
в этом примере ставится "#$" а почему?
http://www.exlab.net/files/tools/sheets ... regexp.pdf
шпаргалка
внизу написано $& - найденная строка целиком

хорошо убрал $

sed -i '/UseDNS/ s/^.*/#&/' файл_в_котором_менять.txt

все нормуль. а почему??? объясните плиз..
в таблице нету & одиноко стоящего...

Автор:  grayich [ Ср 29 апр, 2015 2:10 pm ]
Заголовок сообщения:  Re: Скрипт конфигурирования

exec писал(а):
sed наверное? описка
не описка

1. для замены в файле используй gsed -i а не sed
2. для тестов используй sed без параметра -i будет не в файле менять, а на экран просто выводить ничего не изменяя в файле.

Автор:  exec [ Ср 29 апр, 2015 2:58 pm ]
Заголовок сообщения:  Re: Скрипт конфигурирования

Linux
$ man gsed
No manual entry for gsed
$ gsed
bash: gsed: команда не найдена

Freebsd
# man gsed
No manual entry for gsed
# gsed
gsed: Command not found.
#


а так, как не странно но у меня вот эта строка в пингвинах работает ;)
sed -i '/UseDNS/ s/^.*/#&/' файл_в_котором_менять.txt

вот тока не совсем мне понятно :) вопрос был выше.

Автор:  fidaj [ Ср 29 апр, 2015 3:07 pm ]
Заголовок сообщения:  Re: Скрипт конфигурирования

Код:
pkg install textproc/gsed

Автор:  grayich [ Ср 29 апр, 2015 3:18 pm ]
Заголовок сообщения:  Re: Скрипт конфигурирования

exec писал(а):
но у меня вот эта строка в пингвинах работает ;)
sed -i '/UseDNS/ s/^.*/#&/' файл_в_котором_менять.txt
вот тока не совсем мне понятно :) вопрос был выше.

в linux GNU sed - в freebsd это gsed

sed который идёт в базовой системе freebsd во многом совпадает, но есть небольшие отличия и в данном конкретном случае это отличие проявляется.

Автор:  exec [ Ср 29 апр, 2015 4:12 pm ]
Заголовок сообщения:  Re: Скрипт конфигурирования

мда...
фря
# sed -i '/tips/ s/^#*//' 333
sed: 1: "333": command expected

сравнил маны на ключик -i и в линухах и во фре одинаковые. а работают по ходу поразному... мда.

установка gsend не подходит... так же как и перл. по крайной мере пока.
выход есть скопировать текущий в новый файл (что бы права и владельца сохранить), потом в новый сендить, и копируем все назад ..

Автор:  grayich [ Ср 29 апр, 2015 5:09 pm ]
Заголовок сообщения:  Re: Скрипт конфигурирования

"костыльно" можно сделать как sed -i.bac
тогда sed сделает всё как надо, но в дополнение создаёт копию файла старого, расширение копии уазывается после -i в данном случае .bac ... как делать без копии хз, может кто вкурсе

Автор:  radiognome [ Пт 01 май, 2015 9:40 am ]
Заголовок сообщения:  Re: Скрипт конфигурирования

grayich писал(а):
"костыльно" можно сделать как sed -i.bac
тогда sed сделает всё как надо, но в дополнение создаёт копию файла старого, расширение копии уазывается после -i в данном случае .bac ... как делать без копии хз, может кто вкурсе

Перенаправить вывод в тот же файл ('>' или '>&', смотря какой шелл).

Автор:  AMDmi3 [ Вс 03 май, 2015 7:40 pm ]
Заголовок сообщения:  Re: Скрипт конфигурирования

radiognome писал(а):
Перенаправить вывод в тот же файл ('>' или '>&', смотря какой шелл).

Так нельзя, потеряете всё содержимое файла.

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/