Никак не вдуплю, на sed желательно....Нужно в логе найти последнее вхождение подстроки..
Типа
[ 12.02.2012 15:01 ]: Маша мыла жопой раму, Миша жопой мыл балкон
[ 12.02.2012 15:05 ]: Маша мыла жопой раму, писька, Миша жопой мыл балкон
[ 12.02.2012 15:09 ]: Маша мыла жопой раму, Миша жопой мыл балкон
[ 12.02.2012 15:10 ]: Маша мыла жопой раму, Миша жопой мыл балкон, пля
[ 12.02.2012 15:11 ]: Маша мыла жопой раму, Миша жопой мыл балкон
[ 12.02.2012 15:15 ]: Маша мыла жопой раму, писька, Миша жопой мыл балкон
[ 12.02.2012 15:17 ]: Маша мыла жопой раму, Миша жопой мыл балкон, пляНадо вывести только последние "пискька" и "пля"
[ 12.02.2012 15:15 ]: Маша мыла жопой раму, писька, Миша жопой мыл балкон
[ 12.02.2012 15:17 ]: Маша мыла жопой раму, Миша жопой мыл балкон, пля---
Как вариант сделать реверс и найти первые вхождения, но блин, полтретьего, лениво думать... :)
>[оверквотинг удален]
> [ 12.02.2012 15:17 ]: Маша мыла жопой раму, Миша жопой мыл балкон,
> пля
> Надо вывести только последние "пискька" и "пля"
> [ 12.02.2012 15:10 ]: Маша мыла жопой раму, писька, Миша жопой мыл
> балкон
> [ 12.02.2012 15:17 ]: Маша мыла жопой раму, Миша жопой мыл балкон,
> пля
> ---
> Как вариант сделать реверс и найти первые вхождения, но блин, полтретьего, лениво
> думать... :)совсем ты павлин ахирел, митрофаныч только и ждёт как тебе в полтретьего чем-нибудь помочь.
> совсем ты павлин ахирел, митрофаныч только и ждёт как тебе в полтретьего
> чем-нибудь помочь.А вдруг у него творческая бессонница
>> совсем ты павлин ахирел, митрофаныч только и ждёт как тебе в полтретьего
>> чем-нибудь помочь.
> А вдруг у него творческая бессонницаНе-а. С такой :Q постановкой задачи, созрел "симметричный" ответ: логгер от поттеринга поставить -- он последнюю строчку лога в статусе сервиса показывает.
> Никак не вдуплю, на sed желательно....
> Нужно в логе найти последнее вхождение подстроки..ну если можете найти первое вхождение и вывести на печать, то можно попробывать сначала файл перевернуть. из однострочников тут же на опеннете
>sed -n '1!G;h;$p' 1.txtз.ы. и работать до пол-третьего это тяжко
>> Никак не вдуплю, на sed желательно....
>> Нужно в логе найти последнее вхождение подстроки..
> ну если можете найти первое вхождение и вывести на печать, то можно
> попробывать сначала файл перевернуть. из однострочников тут же на опеннете
>>sed -n '1!G;h;$p' 1.txtУже на авке сделал, но эту можно доделать..., быстрее наверно будет.
>>>sed -n '1!G;h;$p' 1.txt
> Уже на авке сделал, но эту можно доделать..., быстрее наверно будет.Не будет. //Весь 500Мб, скажем, лог в сед всосать -- ооооооочень долго.
man tac - _Это _будет быстрее.
|tac |sed -n '/паттерн/{p;q}' , если я правильно понял матершину~~~
PS: Хотя _не с файлом и tac притормозит, но по-любому быстрее в памяти sed-а~
$ time cat error.log.1| tac |head -1
2012/02/16 06:25:13 [notice] 2286#0: reopening logsreal 0m0.937s
$ time tac <error.log.1 |head -1
2012/02/16 06:25:13 [notice] 2286#0: reopening logsreal 0m0.002s
$ time cat error.log.1 |sed -n '/client/h;${g;p}'
2012/02/15 17:44:47 [info] 2286#0: *11656197 proxied session done, client: 10.1.4.190, server: 0.0.0.0:110, login: "client", upstream: 127.0.0.2:110real 0m1.942s
$ time cat error.log.1 |tac |sed -n '/client/{p;q}'
2012/02/15 17:44:47 [info] 2286#0: *11656197 proxied session done, client: 10.1.4.190, server: 0.0.0.0:110, login: "client", upstream: 127.0.0.2:110real 0m1.859s
$ wc -cl error.log.1
2848712 373326051 error.log.1
PPS:
$ time seq 1 40000| sed -n '1!G;h;$p' >/dev/nullreal 0m1.594s
$ time seq 1 40000| tac >/dev/nullreal 0m0.039s
>>>>sed -n '1!G;h;$p' 1.txt
>> Уже на авке сделал, но эту можно доделать..., быстрее наверно будет.
> Не будет. //Весь 500Мб, скажем, лог в сед всосать -- ооооооочень долго.
cat text.txt | sed -n '/пля/{p;d;}' | sed '1!G;h;$!d' | sed qСоединить в одно выражение никак не получается :(
>>> Уже на авке сделал, но эту можно доделать..., быстрее наверно будет.Ещё раз: быстрее будет _только_ с tac-ом, а чего там 1 строчку выведет, без разницы. Хоть 'fgrep -m1' (вот тебе, кстати, ещё подарочек, да).
>> Не будет. //Весь 500Мб, скажем, лог в сед всосать -- ооооооочень долго.
> Соединить в одно выражение никак не получается :(??! Пьян чтоле всё ещё? :-P [Прям завидно~] 'man sed' до прояснения в уму. В смысле прочитай то заклинание и ужаснись. Перечитай _все, что я тебе накидал, посмотри почему они все медленне tac, почему "то заклинание" медленне и совершенно не то делает.
...
cat text.txt |tac |sed -n '/подруга/{p;q}'
cat text.txt |tac |fgrep -m1 'подруга'