我有一个 bash 脚本,用于检查数据库的更改并通过电子邮件将这些更改发送给我。工作得很好,直到它尝试发送不可打印的内容,这“破坏”了邮件。
有没有什么方便的方法如何用十六进制代码替换字符串中的所有不可打印字符(例如“ abc<1A>def<07>xyz ”)?
我能想到的只是一长串sed命令,每个命令都处理单个字符。这似乎不对。
sed
编辑:发布这个问题后,我发现cat -v命令主要做我想做的事情。现在就使用这个,除非有人指出更好的东西。
cat -v
bash non-ascii
bash ×1
non-ascii ×1