Size: a a a

2017 January 23

d

droserasprout in archlinux_ru
Товарищи, у кого-нибудь kwin свежий делает show desktop при касании курсором верхнего края? Дико бесит.
источник

КК

Константин Куликов in archlinux_ru
Нет не делает
источник
2017 January 24

S

Sergey in archlinux_ru
Что там, не слышно почему 4.9 так задерживают в тестинге?
источник
2017 January 25

S

Sergey in archlinux_ru
Sergey
Что там, не слышно почему 4.9 так задерживают в тестинге?
Сам отвечу на свой вопрос: из-за регрессии в ядре
https://bbs.archlinux.org/viewtopic.php?id=221470
источник
2017 January 26

СД

Сергей Дергачев in archlinux_ru
можно задать тут вопрос по awk?
есть вот такое
redis-cli info all | awk -v s="" '{if($0 ~ /^#/){s=$0}; if($0 ~/\w+:\w+/){split($0,a,":"); if (a[2] ~ /,/){split(a[2],b,",");for(i in b){print a[1]"."b[i]}}else{print a[1]"="a[2]}}}'
вроде все работает
но есть необходимость сделать вот так
redis-cli  info all | awk -v s="" '{if($0 ~ /^#/){s=$0}; if($0 ~/\w+:\w+/){split($0,a,":"); if (a[2] ~ /,/){split(a[2],b,",");for(i in b){print s"."a[1]"."b[i]}}else{print s"."a[1]"="a[2]}}}'
в итоге в выводе вижу только точки вначале строки а куда девается знаение s не могу понять
источник

d

droserasprout in archlinux_ru
Мсье знает толк в awk.
источник

КК

Константин Куликов in archlinux_ru
redis-cli info all | gawk '{ if (match($0, /^# ([a-zA-Z]+)/, a)) {s=a[1]}; if($0 ~/\w+:\w+/){split($0,a,":"); if (a[2] ~ /,/){split(a[2],b,",");for(i in b){print s"."a[1]"."b[i]}}else{print s"."a[1]"="a[2]}}}'
источник

СД

Сергей Дергачев in archlinux_ru
@rammaq  Спасибо! У меня были подозрения что redis отдает управляющие символы которые при печати отрабатывают как-то деструктивно, но вот сразу что-то не подумал взять match
источник

СД

Сергей Дергачев in archlinux_ru
Ну и оставлю это здесь
вдруг кому пригодится
думаю понятно что key это какой параметр хотим получить
ну и я буду применять это для мониторинга redis при помощи zabbix
redis-cli info all | awk -v key='Commandstats.cmdstat_command.calls'  '{if(match($0, /^#\s?(\w+)/,c)){s=c[1]}; if($0 ~/\w+:\w+/){split($0,a,":"); if (a[2] ~ /,/){split(a[2],b,",");for(i in b){split(b[i],d,"="); k[s"."a[1]"."d[1]]=d[2]}}else{k[s"."a[1]]=a[2]}}}END{if(k[key] != ""){print k[key]}else{print "ZBX_NOTSUPPORTED"}}'
источник

S

Sergey in archlinux_ru
что тольео не делают люди, лишь бы не использовать какой-нибудт нормальный язык программирования
источник

СД

Сергей Дергачев in archlinux_ru
из нормальных это какой имеется ввиду?
и чем не устраивает awk? чем он не нормален ?
источник

СД

Сергей Дергачев in archlinux_ru
ну и надо понимать что если мы говорим о мониторинге то чем меньше надо ставить доп пакетов тем лучше
источник

S

Sergey in archlinux_ru
Сергей Дергачев
из нормальных это какой имеется ввиду?
и чем не устраивает awk? чем он не нормален ?
1. да любой: python, ruby, etc
2. плох тем, что чтобы понять и поправить этот однострочник надо убить кучу времени и через пару месяцев никто не вспомнит что точно от делает
источник

S

Sergey in archlinux_ru
Сергей Дергачев
ну и надо понимать что если мы говорим о мониторинге то чем меньше надо ставить доп пакетов тем лучше
ну есть же кто-то, кто ходит в этот redis, вот на том же языке можно и написать парсер)
источник

СД

Сергей Дергачев in archlinux_ru
ходить в редис может и php и python и java и go
на каком языке сотрудники отдела эксплуатации должны писать?
awk sed bash нормальные языки которые есть везде и используются всеми администраторами

для написания того же на python надо ставить модуль для redis, для ruby аналогично
и теперь для мониторинга мне надо ставить минимум доп пакет или еще один язык программирования
зачем?
источник

КК

Константин Куликов in archlinux_ru
в awk и не надо однострочники писать, этот код можно сохранить в отдельный файл и запускать через awk -f
источник

КК

Константин Куликов in archlinux_ru
однострочники зло - полностью согласен
источник

СД

Сергей Дергачев in archlinux_ru
@rammaq у меня почти везде такие однострочники
cat Template.Redis.conf
UserParameter=redis.info[*],    redis-cli -h $1 -p $2 info all | awk -v key='$3'  '{if(match($$0, /^#\s?(\w+)/,a)){s=a[1]}; if($$0 ~/\w+:\w+/){split($$0,a,":"); if (a[2] ~ /,/){split(a[2],b,",");for(i in b){split(b[i],d,"="); k[s"."a[1]"."d[1]]=d[2]}}else{k[s"."a[1]]=a[2]}}}END{if(k[key] != ""){print k[key]}else{print "ZBX_NOTSUPPORTED"}}'
источник

КК

Константин Куликов in archlinux_ru
но awk тоже вполне полноценный ЯП
источник

S

Sergey in archlinux_ru
Сергей Дергачев
ходить в редис может и php и python и java и go
на каком языке сотрудники отдела эксплуатации должны писать?
awk sed bash нормальные языки которые есть везде и используются всеми администраторами

для написания того же на python надо ставить модуль для redis, для ruby аналогично
и теперь для мониторинга мне надо ставить минимум доп пакет или еще один язык программирования
зачем?
ну вот я имею опыт поддержки проекта, в котором вставок на awk десятки и могу сказать, что это нескончаемая боль, потому что реально уже нифига никто не помнит как оно работает и код далёк от читаемости
никто не мешает на том же pytohn читать stdin, хотя модуль - лучше, конечно. но virtualenv никто не отменял)
источник