【问题标题】:Storing \n as text not a newline in a linux file?将 \n 存储为文本而不是 linux 文件中的换行符?
【发布时间】:2021-05-16 03:37:38
【问题描述】:

我想将 \n 作为文本存储在 Linux 文件中,以便在检索文件时得到以下信息:

Hello\nWorld

而不是

Hello
World

我想将 \n 存储为文本,这样它就不会代表换行符。所以我需要编写文件,以便将 \n 解释为文本而不是换行符。

我已经尝试过\n,但这仍然导致换行。

我正在使用 printf linux 命令编写文件。它将文本附加到 Linux 文件。

示例:我目前没有名为 file.txt 的文件

printf "text goes here" >> file.txt
printf " more text now" >> file.txt

现在我将有一个名为 file.txt 的文件,其文本为 text goes here more text now

我已经包含了 ascii 标签,但如果您认为它不适用,请随意删除该标签,因为我不确定..

【问题讨论】:

  • 这一定是可能的,因为使用 nano 我可以将 \n 作为文本而不是换行。我现在需要以编程方式进行。

标签: node.js linux ascii newline


【解决方案1】:

反斜杠\ 是转义字符,将与后面的字符一起解释。文本 \n 被解释并替换为单个字符(换行 - LF)。

要实现您想要的,请用另一个反斜杠转义。所以 \\ 被解释并替换为单个 \ 并且不触及以下 n 字符。

【讨论】:

    【解决方案2】:

    反斜杠printf中的反斜杠

    printf 'Hello\\nWorld' > file.txt
    

    或者使用'\n'作为填充模板的第二个参数:

    printf 'Hello%sWorld' '\n'
    

    【讨论】:

      【解决方案3】:
      echo 'hello\\nworld' > /tmp/1.txt
      

      【讨论】:

        猜你喜欢
        • 2019-11-16
        • 2022-11-01
        • 2023-03-29
        • 2013-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-20
        相关资源
        最近更新 更多