如何使用 cat 创建包含 TAB 的文件?

How to create a file containing TAB with cat?

我想在我的 bash 脚本中使用包含 TAB 字符的 cat 创建一个文件。但是我无法让它工作。这是我的测试:

使用普通制表符:

cat >file.txt <<END
    Text after plain tab.
END

结果:

Text after plain tab.

使用 ^I:

cat >file.txt <<END
^IText after escaped I.
END

结果:

^IText after escaped I.

使用\033I:

cat >file.txt <<END
3IText after another escaped I.
END

结果:

3IText after another escaped I.

提前致谢:-)

您可以轻松地使用 Echo 和制表符 \t,如下所示:

[purnendu.maity@unix ~]$ echo  "Example with tab: \t text after tab" > file.txt
[purnendu.maity@unix ~]$ cat file.txt
Example with tab:        text after tab

显示了三个示例。第一个作品(可能省略了一些细节)。其他两个(文字 "^I" 和文字 "3I")不会产生制表符,因为 cat 不会 。它确实 提供了一个选项 (-v) 以换一种方式,使非打印字符可显示。

如另一个答案所述,echo 命令可以解释一些反斜杠序列。例如

echo "\tExample with tab" >file.txt

在 Linux 上作为独立程序(来自 coreutils)使用的 echo 的变体与 shell 的一部分(可能 bashdashzsh)。 POSIX standard 是一个很好的起点。