Статьи Галерея Форум Чат Файлы HowTo Ссылки Поиск
Текущее время: 16 июн 2019, 00:54




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Замена строчек в файле
СообщениеДобавлено: 13 апр 2011, 08:25 
Заглянувший

У нас с: 12.11.2010
Сообщения: 9
Здраствуйте, скажите пожалуста как и каким образом можно заменить уже известную строку(т.е. что в строке написано) в файле.
и как это сделать из скрипта?


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Замена строчек в файле
СообщениеДобавлено: 13 апр 2011, 08:42 
Неотъемлемая часть форума

У нас с: 25.10.2006
Сообщения: 1055
Откуда: minsk
sed -i -e 's/что/на_что/' file.txt


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Замена строчек в файле
СообщениеДобавлено: 18 апр 2011, 09:54 
Заглянувший

У нас с: 12.11.2010
Сообщения: 9
а еще скажите пожалуйста,вот у меня в скрипте пишу,
мне надо заменить "DEVICE /dev/ttyS0" на "DEVICE ",
Код:
sed -i -e 's/"DEVICE /dev/ttyS0"/"DEVICE "/'

он не меняет + еще когда пишу:
Код:
echo "Enter name ups:"
read NAME
sed -i -e 's/#UPSNAME/#UPSNAME $NAME/'

он и это отказывается делать - вместо нормального имени пишет $NAME.
я чот ваще не понимаю .. :damn:


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Замена строчек в файле
СообщениеДобавлено: 18 апр 2011, 15:05 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 30.08.2002
Сообщения: 2339
Откуда: Minsk
Код:
sed -i -e 's/#UPSNAME/#UPSNAME '$NAME'/'


Откройте для себя удивительный мир кавычек Bourne Shell. И отличие одиночной кавычки от двойной.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Замена строчек в файле
СообщениеДобавлено: 21 апр 2011, 07:05 
Заглянувший

У нас с: 12.11.2010
Сообщения: 9
:roll: да действительно. Но еще один момент чот не понял, как сделать однократную замену самого первого совпадения во всем файле?
Код:
sed -i -e 's/#UPSNAME/#UPSNAME '$NAME'/'

делая так он ищет первое совпадение в каждой строке - если я так понял ман. вот и получается у меня в двух местах замена... в первом где надо и все путем, а во втором не надо заменять...
в строчки эти как раз содержат #UPSNAME:
1) #UPSNAME
2) #UPSNAME UPS_IDEN


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Замена строчек в файле
СообщениеДобавлено: 21 апр 2011, 08:18 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 30.08.2002
Сообщения: 2339
Откуда: Minsk
Два способа - либо указать номер строки, либо более точно указать шаблон поиска и замены

Например:
Код:
sed -i -e '10 s/#UPSNAME/#UPSNAME '$NAME'/'
или
sed -i -e 's/#UPSNAME$/#UPSNAME '$NAME'/'



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


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

Найти:
Перейти:  
[ All resources are available under GNU GPL ] [ Support ] [ Hosted by DataHata | MyCloud.by ] [ Powered by phpBB® Forum Software © phpBB Group ]

LVEE Winter LVEE Rambler's Top100