[sed] как удалить строки, которые не содержат паттерн
sed -n — не печатает по умолчанию
есть команда p
например
sed -n '/pattern/p'
с s/// сам совмести
а вообще man sed, там не очень много
есть команда p
например
sed -n '/pattern/p'
с s/// сам совмести

а вообще man sed, там не очень много
о, еще есть флаг 'p' к s///:
sed -n -e 's/.*"\/user\.php?user=\([^"]*\)".*/\1/p'
sed -n -e 's/.*"\/user\.php?user=\([^"]*\)".*/\1/p'
Каноничный способ — применять несколько команд:
sed -n '/some_regex/{command1;command2;command3;p;}'
тут дублирование будет, сначала /pattern/, потом s/pattern/..., а там все просто.
Используй (g)awk, он по крайней мере нормальный язык программирования
чё-нить вроде
чё-нить вроде
awk 'match($0, ".*\"\/user\.php?user=\([^\"]*\)\".*", groups) {print groups[1]}'и то и то полно по тьюрингу, так что утверждение "нормальный язык программирования" по меньшей мере спорно
Причем тут полнота по тьюрингу? Вопрос в удобстве применения. Методы, которыми дается полнота по тьюрингу в sed'е (реализация ленты как бэ не позволяют хоть как-то адекватно на нем программировать. Даже на шаблонах плюсов и то можно написать получитаемую программу, а тут-то это вообще просто прикол.
полнота по Тьюрингу: http://beza1e1.tuxen.de/articles/accidentally_turing_complet...
grep -v ?
дальше заголовка не читала, понятно...
Да и заголовок наоборот поняла
Да и заголовок наоборот поняла

Оставить комментарий
yolki
есть html в котором есть строчкихочется выковырять различные ники.
можно конечно сделать что-то типа
но может, как-то можно в самом sed ?