gpt4 book ai didi

linux - 为什么输出最后包含一个空行?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:07:25 26 4
gpt4 key购买 nike

我的文件只有一行:

$ cat employee-one-line.txt
101,John Doe:102,Jason Smith:103,Raj Reddy:104,Anand Ram:105,Jane Miller
$

但是执行下面的 awk 脚本,它在末尾打印了一个多余的空行:

$ awk -F, 'BEGIN{ RS=":" } {print $2}' employee-one-line.txt
John Doe
Jason Smith
Raj Reddy
Anand Ram
Jane Miller

$

为什么最后有一个空行?

最佳答案

由于您已将记录分隔符设置为冒号,因此最后一条记录是 105,Jane Miller,后跟一个换行符。 print 在它打印的内容末尾添加了一个 ORS(输出记录分隔符),因此您最终得到两个。

默认行为是 awk 使用换行符作为记录分隔符,然后在您print 时将其添加回去。

为了让 awk 在这种情况下吞下换行符,一种选择是将它添加到您的字段分隔符中:

awk -F'[,\n]' 'BEGIN{ RS=":" } {print $2}' file

关于linux - 为什么输出最后包含一个空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36644795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com