BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Скрипт конфигурирования
СообщениеДобавлено: Ср 29 апр, 2015 2:24 am 
Не в сети

Зарегистрирован: Чт 28 ноя, 2013 12:36 pm
Сообщения: 40
Периодически возникает необходимость автоматизировать установку и настройку чего либо. Приходится писать скрипты. Но вот не задача, не как не соображу как на Csh комментарий "#" уберать скриптом.
Например есть такая строка:
#UseDNS no
Надо из скрипта найти эту строку и удалить решетку.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипт конфигурирования
СообщениеДобавлено: Ср 29 апр, 2015 9:19 am 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: Вт 10 авг, 2004 2:24 am
Сообщения: 3286
Откуда: Харьков
это не вопрос csh, а вопрос утилит
Код:
gsed -i '/UseDNS/ s/^#*//' файл_в_котором_менять.txt

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипт конфигурирования
СообщениеДобавлено: Ср 29 апр, 2015 1:58 pm 
Не в сети

Зарегистрирован: Чт 28 ноя, 2013 12:36 pm
Сообщения: 40
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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипт конфигурирования
СообщениеДобавлено: Ср 29 апр, 2015 2:10 pm 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: Вт 10 авг, 2004 2:24 am
Сообщения: 3286
Откуда: Харьков
exec писал(а):
sed наверное? описка
не описка

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипт конфигурирования
СообщениеДобавлено: Ср 29 апр, 2015 2:58 pm 
Не в сети

Зарегистрирован: Чт 28 ноя, 2013 12:36 pm
Сообщения: 40
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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипт конфигурирования
СообщениеДобавлено: Ср 29 апр, 2015 3:07 pm 
Не в сети

Зарегистрирован: Вс 05 июн, 2005 4:19 pm
Сообщения: 3132
Откуда: Мезозой Пангея
Код:
pkg install textproc/gsed

_________________
Ми можемо все - що здатні собі уявити!
uname -a
Linux nonamehost 4.18.15-zen-uksm-my+ #1 ZEN SMP Thu Oct 18 19:51:59 EEST 2018 x86_64 x86_64 x86_64 GNU/Linux


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипт конфигурирования
СообщениеДобавлено: Ср 29 апр, 2015 3:18 pm 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: Вт 10 авг, 2004 2:24 am
Сообщения: 3286
Откуда: Харьков
exec писал(а):
но у меня вот эта строка в пингвинах работает ;)
sed -i '/UseDNS/ s/^.*/#&/' файл_в_котором_менять.txt
вот тока не совсем мне понятно :) вопрос был выше.

в linux GNU sed - в freebsd это gsed

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипт конфигурирования
СообщениеДобавлено: Ср 29 апр, 2015 4:12 pm 
Не в сети

Зарегистрирован: Чт 28 ноя, 2013 12:36 pm
Сообщения: 40
мда...
фря
# sed -i '/tips/ s/^#*//' 333
sed: 1: "333": command expected

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипт конфигурирования
СообщениеДобавлено: Ср 29 апр, 2015 5:09 pm 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: Вт 10 авг, 2004 2:24 am
Сообщения: 3286
Откуда: Харьков
"костыльно" можно сделать как sed -i.bac
тогда sed сделает всё как надо, но в дополнение создаёт копию файла старого, расширение копии уазывается после -i в данном случае .bac ... как делать без копии хз, может кто вкурсе


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипт конфигурирования
СообщениеДобавлено: Пт 01 май, 2015 9:40 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пт 09 апр, 2010 9:49 pm
Сообщения: 565
Откуда: большой деревни
grayich писал(а):
"костыльно" можно сделать как sed -i.bac
тогда sed сделает всё как надо, но в дополнение создаёт копию файла старого, расширение копии уазывается после -i в данном случае .bac ... как делать без копии хз, может кто вкурсе

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

_________________
никто кроме нас (С)
пять строчек лога могут дать больше информации, чем тысяча строк описания, что и как не работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипт конфигурирования
СообщениеДобавлено: Вс 03 май, 2015 7:40 pm 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5190
Откуда: Москва
radiognome писал(а):
Перенаправить вывод в тот же файл ('>' или '>&', смотря какой шелл).

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Google Feedfetcher


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика