gawk 命令行上的 vRS="\n20" 是什么意思?

gawk 命令行上的 vRS="\n20" 是什么意思?

任何人都可以解释一下以下命令:

gawk -vRS="\n20" '/Job-157625/' log.1

我们正在使用此命令来获取作业的日志。

我知道gawk用于查找/扫描模式,但我想知道为什么我们使用 -vRS 和 \n20 (为什么在 \n 之后使用 20)

答案1

gawk 的手册页读取

   RS          The input record separator, by default a newline.

因此,将记录分隔符从只是换行符更改为紧跟“20”的换行符。

下面的例子。

$ cat log.1
test
foo
Job-157625
20 Job-157625
$ gawk -vRS="\n20" '/Job-157625/' log.1
test
foo
Job-157625
 Job-157625

$ gawk '/Job-157625/' log.1
Job-157625
20 Job-157625
$

相关内容