打印 awk 当前的换行符

打印 awk 当前的换行符

使用时如何找到文件中的换行符awk

我知道默认值是,\n但这就是手册所说的。我想亲眼看看。

我刚刚开始学习awk如何更改输出记录分隔符,但首先我想看看实际的 ORS 是什么。手册的前 7 章awk没有解决这个问题。

答案1

您不会为此使用 Awk,而是OD(八进制转储)

例如,下面是使用 vi 在 Linux 系统上创建的一个简单文本文件:

lizard:~tmp$ cat foo
This is a sentence.

这是 od 的输出:

lizard:~tmp$ od -a foo
0000000   T   h   i   s  sp   i   s  sp   a  sp   s   e   n   t   e   n
0000020   c   e   .  nl  nl
0000025

请注意,该文件在句子下方包含一个空行,因为有两个荷兰's(换行 = 换行 = \n)。 “sp”代表空格字符。如果我转储在 Windows 系统上创建的类似文件,它可能如下所示:

lizard:~tmp$ od -a foo-dos
0000000   T   h   i   s  sp   i   s  sp   a  sp   s   e   n   t   e   n
0000020   c   e   .  cr  nl  cr  nl
0000027

这是完全相同的文件,但在 Windows 系统上创建。 DOS/Windows 文件使用 \r\n(回车换行符)作为文本文件行结尾。

答案2

您可以通过以下方式检查它:

awk 'BEGIN { printf "%s", ORS }' | od -c

相关内容