Страница 1 из 1

Замена/удаление НЕнайденного (текстовый редактор)

Добавлено: Вс апр 25, 2010 12:14
_Johm
Пользуюсь notepadd++. Используя regexp, нахожу нужные строки.
Мне нужно их оставить, остальные удалить . В этом редакторе я
функцию не нашел.

Добавлено: Пн апр 26, 2010 14:30
CaptainFlint
Я обычно в EmEditor'е поступаю так: к найденным строкам приписываю в начало какой-нибудь символ, которого там точно не должно быть (решётка, процент, амперсанд какой-нибудь). Затем вторым проходом убиваю все строки, начинающиеся не с добавленного мной символа (^[^#].*\n), а третьим проходом грохаю этот маркер в оставшихся строках.

В отдельных случаях может помочь механизм look-ahead, но я не знаю, реализован ли он в Notepad++. Это выражения типа (?=...) и (?!...). C их помощью можно найти строки, не удовлетворяющие исходному выражению, и удалить.

Добавлено: Пн апр 26, 2010 17:32
Tol!k
С помощью (super)sed :

Код: Выделить всё

ssed.exe -n -i.bak /выраж./p файл.txt

Добавлено: Пн апр 26, 2010 19:06
_Johm
Спасибо за ответы, теперь смотрю в сторону EmEdit и потоковые
процессоры sed\awk, та как Notepad++ расстроил: RepEx у него
обрезанные (и, как где-то на форуме было сказано,даже
альтернативы | не понимает).
Впринципе, ++ инструмент приличный и удобный, но для
специфичных задач нужны более мощные потоковые обработчики.
P.S По мере поступления задач в жизни (связанной с компьютером),
октрываються новые горизонты программного обеспечения, изучив
эти программы, будущие задачи будут решаться более эллегантно.