URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 90831
[ Назад ]

Исходное сообщение
"sed"

Отправлено fire002 , 28-Янв-11 14:03 
Собственно, второй день бьюсь с sed
Суть, поиск конфигов, на предмет наличия в них определенного слова и удаление онного.
Составил конструкцию:
find /root/test/ -wholename "*/*.cfg" -print0 | xargs -0 sed -i '/maxplayers/d'

Все прекрасно работает, находит конфиги с встречающимся maxplayers и удаляет строку. Но есть 1 но, есть слово, которое нужно добавить как исключение d_maxplayers
Вот тут и вся загвоздка. Кто-нибудь сталкивался?


Содержание

Сообщения в этом обсуждении
"sed"
Отправлено djaarf , 28-Янв-11 15:04 
можно так
'/[^d][^_]maxplayers/d'

"sed"
Отправлено djaarf , 28-Янв-11 15:05 
херню сказал :)
имел ввиду чтото вроде этого

's/\([^d][^_]\)maxplayers/\1/'


"sed"
Отправлено djaarf , 28-Янв-11 15:20 
> херню сказал :)
> имел ввиду чтото вроде этого
> 's/\([^d][^_]\)maxplayers/\1/'

ed '{/d_maxplayers/p ; /maxplayers/d}'


"sed"
Отправлено temny , 28-Янв-11 16:21 
find /root/test/ -wholename "*/*.cfg" -print0 | xargs -0 sed -i '/d_maxplayers/!{/maxplayers/d;}'


"sed"
Отправлено fire002 , 29-Янв-11 21:49 
>
find /root/test/ -wholename "*/*.cfg" -print0 | xargs -0 sed -i '/d_maxplayers/!{/maxplayers/d;}' 
>

Спасибо!