echo -en "stats\r\n" "quit\r\n" | nc localhost 11211 | tr -s [:cntrl:] " "| cut -f42,48 -d" " | sed "s/\([0-9]*\)\s\([0-9]*\)/ \2\/\1*100/" | bc -l
Команда echo отправляет строку текста с определенным содержанием в стандартный вывод. Флаг -e позволяет интерпретировать контрольные символы (например, \r — возврат каретки), а флаг -n предотвращает добавление новой строки в конце вывода. Дальше команда использует «|» для передачи вывода предыдущей команды в следующую — для отправки строки текста в memcached с помощью netcat (nc) и выполнения команды «stats», а затем выполнения команды «quit».
Затем команда tr заменяет серии подряд идущих управляющих символов на пробелы (это используется в сочетании с командой cut). Команда cut выбирает два поля текста (которые разделяются пробелом) из входного потока — это как раз то, что нам нужно для вычисления соотношения.
Команда sed заменяет два числа, разделенных пробелом, на их отношение с использованием регулярного выражения. Команда bc-л вычисляет эту математическую операцию. По итогу мы получаем соотношение попаданий/получений для локального memcached-сервера.
