Собственно, второй день бьюсь с sed
Суть, поиск конфигов, на предмет наличия в них определенного слова и удаление онного.
Составил конструкцию:
find /root/test/ -wholename "*/*.cfg" -print0 | xargs -0 sed -i '/maxplayers/d'Все прекрасно работает, находит конфиги с встречающимся maxplayers и удаляет строку. Но есть 1 но, есть слово, которое нужно добавить как исключение d_maxplayers
Вот тут и вся загвоздка. Кто-нибудь сталкивался?
можно так
'/[^d][^_]maxplayers/d'
херню сказал :)
имел ввиду чтото вроде этого's/\([^d][^_]\)maxplayers/\1/'
> херню сказал :)
> имел ввиду чтото вроде этого
> 's/\([^d][^_]\)maxplayers/\1/'ed '{/d_maxplayers/p ; /maxplayers/d}'
find /root/test/ -wholename "*/*.cfg" -print0 | xargs -0 sed -i '/d_maxplayers/!{/maxplayers/d;}'
>find /root/test/ -wholename "*/*.cfg" -print0 | xargs -0 sed -i '/d_maxplayers/!{/maxplayers/d;}'
>Спасибо!