Страница 1 из 1
Чем удалить кусок строки
Добавлено: 2011-12-03 20:32:10
kharkov_max
День добрый.
Есть файлик в нем строки с текстом )))
Нужно из строки удалить все что находится между символами "(бла бла бла )" в том числе и сами символы ().
Как это сделать
Спасибо.
Re: Чем удалить кусок строки
Добавлено: 2011-12-03 21:20:41
kharkov_max
Нашел
cat ./file | sed 's|(.*)||' > ./new_file
Следующий вопрос.
В строках встречается такое
(бла бла) (бла бла)
В выше указаном варианте sed удаляет все, а нужно что б удалял только первое совпадение.
awk не подойдет т.к. не во всех строках есть такие повторения ...
Как через sed закрутить ?
Re: Чем удалить кусок строки
Добавлено: 2011-12-03 21:41:50
kharkov_max
Вообщем sed как то нужно указать что между () должны быть буквы или цифры а не символы ().
Re: Чем удалить кусок строки
Добавлено: 2011-12-03 22:30:33
kpp
Удалить нужно только первое вхождение в каждой строке файла или первое вхождение по всем файле?
Либо я туго под вечер соображаю, либо условие какое-то неточное.
Re: Чем удалить кусок строки
Добавлено: 2011-12-03 22:46:44
kharkov_max
kpp писал(а):Удалить нужно только первое вхождение в каждой строке файла или первое вхождение по всем файле?
Либо я туго под вечер соображаю, либо условие какое-то неточное.
К примеру
Код: Выделить всё
#Kode qwertyu fhfhfgh etet 4 erwrwr
12345 (qwerty) sfsfwegdgdg
#Kode qwertyu fhfhfgh etet 4 erwrwr gdgertetertg
234567 (qwerty) etetete (poiuyrre)
После sed должно получится
Код: Выделить всё
#Kode qwertyu fhfhfgh etet 4 erwrwr
12345 sfsfwegdgdg
#Kode qwertyu fhfhfgh etet 4 erwrwr gdgertetertg
234567 etetete (poiuyrre)
а пока получается
Код: Выделить всё
#Kode qwertyu fhfhfgh etet 4 erwrwr
12345 sfsfwegdgdg
#Kode qwertyu fhfhfgh etet 4 erwrwr gdgertetertg
234567
Re: Чем удалить кусок строки
Добавлено: 2011-12-04 21:22:49
kpp
Так попробуй.
Замечу, что
совсем не обязательно.
Re: Чем удалить кусок строки
Добавлено: 2011-12-04 21:35:41
kharkov_max
Ну так почему то не отработало, но направление понятно - ответ найду.
cat - учел
Спасибо.
Re: Чем удалить кусок строки
Добавлено: 2011-12-04 21:54:32
kpp
С Вашим примером у меня на выходе:
Код: Выделить всё
#Kode qwertyu fhfhfgh etet 4 erwrwr
12345 sfsfwegdgdg
#Kode qwertyu fhfhfgh etet 4 erwrwr gdgertetertg
234567 etetete (poiuyrre)
Вроде как и заказывали.
Re: Чем удалить кусок строки
Добавлено: 2011-12-04 22:10:04
kharkov_max
kpp писал(а):С Вашим примером у меня на выходе:
Код: Выделить всё
#Kode qwertyu fhfhfgh etet 4 erwrwr
12345 sfsfwegdgdg
#Kode qwertyu fhfhfgh etet 4 erwrwr gdgertetertg
234567 etetete (poiuyrre)
Вроде как и заказывали.
Еще может быть так:
Код: Выделить всё
#Kode qwertyu fhfhfgh etet 4 erwrwr
12345 (qwerty)sfsfwegdgdg
#Kode qwertyu fhfhfgh etet 4 erwrwr gdgertetertg
234567 (qwerty)etetete (poiuyrre)
Т.е. без пробелов между первыми скобками
Ваш пример не удаляет первые скобки и содержимое между ними ((.
Re: Чем удалить кусок строки
Добавлено: 2011-12-04 22:16:10
kpp
В результате измененного примера на выходе у меня :
Код: Выделить всё
#Kode qwertyu fhfhfgh etet 4 erwrwr
12345 sfsfwegdgdg
#Kode qwertyu fhfhfgh etet 4 erwrwr gdgertetertg
234567 etetete (poiuyrre)
Ничего подозрительного не наблюдаю.
Чем удалить кусок строки
Добавлено: 2015-02-20 15:03:24
Fantom[NB]
и да, я знаю сколько лет прошло