Замена строчек в файле
Замена строчек в файле
Здраствуйте, скажите пожалуста как и каким образом можно заменить уже известную строку(т.е. что в строке написано) в файле.
и как это сделать из скрипта?
и как это сделать из скрипта?
-
- Неотъемлемая часть форума
- Сообщения: 1055
- Зарегистрирован: 25 окт 2006, 14:50
- Откуда: minsk
- Контактная информация:
Re: Замена строчек в файле
sed -i -e 's/что/на_что/' file.txt
Re: Замена строчек в файле
а еще скажите пожалуйста,вот у меня в скрипте пишу,
мне надо заменить "DEVICE /dev/ttyS0" на "DEVICE ",
он не меняет + еще когда пишу:
он и это отказывается делать - вместо нормального имени пишет $NAME.
я чот ваще не понимаю ..
мне надо заменить "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/'
я чот ваще не понимаю ..
Re: Замена строчек в файле
Код: Выделить всё
sed -i -e 's/#UPSNAME/#UPSNAME '$NAME'/'
Re: Замена строчек в файле
да действительно. Но еще один момент чот не понял, как сделать однократную замену самого первого совпадения во всем файле?
делая так он ищет первое совпадение в каждой строке - если я так понял ман. вот и получается у меня в двух местах замена... в первом где надо и все путем, а во втором не надо заменять...
в строчки эти как раз содержат #UPSNAME:
1) #UPSNAME
2) #UPSNAME UPS_IDEN
Код: Выделить всё
sed -i -e 's/#UPSNAME/#UPSNAME '$NAME'/'
в строчки эти как раз содержат #UPSNAME:
1) #UPSNAME
2) #UPSNAME UPS_IDEN
Re: Замена строчек в файле
Два способа - либо указать номер строки, либо более точно указать шаблон поиска и замены
Например:
Например:
Код: Выделить всё
sed -i -e '10 s/#UPSNAME/#UPSNAME '$NAME'/'
или
sed -i -e 's/#UPSNAME$/#UPSNAME '$NAME'/'