linux - 将文件读入变量,然后用转义字符替换控制字符

标签 linux bash shell

我有一个像下面这样的文件

 # 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[@]}"

关于linux - 将文件读入变量,然后用转义字符替换控制字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57628040/

相关文章:

linux - 使用python脚本查找和删除文件

linux - 如何在Linux中获取倒数第二个文件夹的名称

bash - 使用 sed 提取大括号中的子字符串

c - 进程退出前打印退出状态

linux - shell脚本中的问题

不断分配内存使系统崩溃以及如何为标准用户阻止它

linux - 在Linux上以最大(或接近)刷新率(例如60hz)以编程方式在屏幕上绘制像素?

bash - ssh 跳出 bash 中的 while 循环

bash - `ls` 退出状态

linux - 如何将一个文件中的行替换到另一个文件中