Запись в лог-файл определённой информации (не всего подряд)

Есть такой скрипт для получения статуса пользователя через Telegram CLI:

#!/bin/bash
name=$1
path=/home/user/tg
LOGFILE="/home/user/Bot/tg.log"
/home/user/bin/telegram-cli -k ${path}/tg-server.pub -W -e "user_info $name >> ${LOGFILE}"
exit 0

Я хочу записать в LOGFILE полученную информацию, то есть результат запроса

user_info $name

Сам результат выглядит примерно так:

@user (#id......):

phone: 7123456789

offline (was online [2021/03/31 14:50:50])

Но в файл помимо статуса записывается ненужная информация (приветственное сообщение и прочее) да ещё и в виде кракозябр. Как записать в файл только эти три строчки?

Файл с кракозябрами: https://i.stack.imgur.com/vrGhd.png


Ответы (1 шт):

Автор решения: Jigius

Добавьте постобработку полученных строк с помощью grep для отбора только нужных вам строк.

/home/user/bin/telegram-cli -k ${path}/tg-server.pub -W -e "user_info $name" | grep -E '^(@user|phone|offline)' >> ${LOGFILE}
→ Ссылка