Unix 使用awk将文件间距加倍

Unix 使用awk将文件间距加倍,unix,awk,Unix,Awk,我在浏览awk时发现了下面两个用于文件双倍间距的命令 有人能解释一下这些命令实际上是如何工作的吗 awk '1;{print ""}' filename awk 'BEGIN{ORS="\n\n"};1' filename 谢谢您的第一个示例使用了两个常见的awk快捷方式:1只是一个始终为真的模式,因此默认操作是“打印行”,对每一行执行。然后,有一个带有空模式的规则(这也总是正确的,但不能同时忽略模式和操作),它在其操作中只打印一个空行 第二个示例将OutputRecordSeparator

我在浏览awk时发现了下面两个用于文件双倍间距的命令

有人能解释一下这些命令实际上是如何工作的吗

awk '1;{print ""}' filename

awk 'BEGIN{ORS="\n\n"};1' filename

谢谢

您的第一个示例使用了两个常见的awk快捷方式:
1
只是一个始终为真的模式,因此默认操作是“打印行”,对每一行执行。然后,有一个带有空模式的规则(这也总是正确的,但不能同时忽略模式和操作),它在其操作中只打印一个空行


第二个示例将OutputRecordSeparator(通常只是行的一个端点)更改为两个,因此只需复制每一行就足够了。(在读取输入文件之前执行BEGIN规则。)

这两条语句是否真的执行了您想要的操作?什么是双空格?如果您的原始文件是100Kb,运行此操作后,您是否有200kb的文件?这两条语句只是将单行分隔符改为两行。第二条命令可以写成
awk-v ORS=“\n\n”1 filename
,效果完全相同。