У меня есть скрипт bash, который проверяет базу данных на наличие изменений и отправляет мне эти изменения по электронной почте. Работает хорошо, пока не попытается отправить что-то непечатное, что «сломает» почту.
Есть ли какой-нибудь удобный способ, как заменить все непечатаемые символы из строки их шестнадцатеричным кодом (что-то вроде « abc <1A> def <07> xyz »)?
Все, что я могу придумать, - это цепочка команд sed
каждая из которых содержит по одному символу. Который не кажется правильным.
редактировать: после публикации этого вопроса я обнаружил, что команда cat -v
делает в основном то, что мне нужно. Используя это сейчас, если кто-то не указывает на что-то лучшее.