linux - 在 Linux 上取消转义巨大的单行字符串

标签 linux bash unix

我最终得到了一个巨大的单行字符串文字(别问我怎么做的),其中所有内容(大部分)都被转义了,包括新行和双引号。问题是,我想要原始字符串。字符串很大 所以我什至不确定如何开始。这是我拥有的:

"This\n is \"nice\",\nain\'t it?"

这就是我想要的:

This
 is "nice",
ain't it?

同样,问题在于其他 shell 敏感内容转义(如 $ 或 !),并且该字符串有几兆字节。

最佳答案

Python 单行代码:

open("unescaped.txt", "w").write(eval(open("string.txt").read()))

大多数 linux 安装都应该有 python。

关于linux - 在 Linux 上取消转义巨大的单行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2814864/

相关文章:

linux - Perl 的 DateTime::Format::Strptime 中的 parse_datetime 方法无法解析时区名称

unix - 操作系统如何计算文件大小?

c++ - 使用系统调用处理退出状态

linux - Bash 中带有变量的 If 语句

bash - 在 sh 中初始化数组

c++ - 如何在 Linux 中找到具有写时复制的 fork 进程之间共享多少内存?

java - Selenium 网格: DevToolsActivePort file doesn't exist (unknown error: Chrome failed to start: exited abnormally)

linux - lsof 命令如何获取其在 linux 上的信息

linux - 尝试在 bash 脚本的 if 语句中使用 Grep -E 的输出

bash - 在 bash 中,可以将函数调用用作 if 语句中的条件吗?