linux - 将文件读取到变量,然后用转义字符替换控制字符
问题描述
我有一个像下面这样的文件
# cat test
Start tab
enter
或带有控制字符
# cat -A test
Start^Itab$
enter$
我想将文件转换为与下面完全相同的变量
file = "Start\ttab\nenter"
echo -e $file
Start tab
enter
我们如何仅使用 bash 脚本来实现这一点(不使用任何编程语言,如 perl 或 python)。
请注意:这里的文件只是示例,我确实有非常大的文件,其中包含复杂的控制字符,所以像“sed”这样的方法在这里不起作用。
解决方案
mapfile data < /path/to/file
将文件作为数组存储在数据中
printf '%s' "${data[@]}"
推荐阅读
- go - switch语句前面的两颗星是什么意思
- css - 你如何正确地将元素垂直中心线与 CSS 的子元素垂直中心线对齐?
- javascript - 如何隐藏和显示页面特定部分的元素?
- java - 如何从 cmd 参数获取文件名以创建副本?
- php - 不能使用 null 作为 PHP-8 中参数的默认值
- python - 如何将有限数量的列加上其余行作为字符串读入 Pandas 数据帧?
- kubernetes - 我无法在 kubernetes 上加载节点信息
- discord.js - (Discord.js) 如何在类别中创建新的文本通道?
- python - 如何从一对中的单个元素,从嵌套在父列表中的众多对中生成所有可能组合的列表?
- flutter - Flutter、AnimatedContainer动画速度极慢