gpt4 book ai didi

bash - 如何只选择我的 AWK 脚本中的前 10 行

转载 作者:行者123 更新时间:2023-11-29 09:09:29 25 4
gpt4 key购买 nike

我有一个很大的 CSV 文件。基本上我想做的是只显示前 5 列(我可以),但我也只想显示前 10 行,这是我无法弄清楚的。现在这是我拥有的 .awk 文件脚本:

"BEGIN {FS = ","}
{print $1", " $2", " $3", " $4", " $5}"

在 Tera Term 中,这是我使用的命令,它会显示每行的前 5 列:$awk -f 示例.awk 示例.csv

我已经尝试了几种使用 NR<=11 的方法,但在尝试在 Tera Term 上运行时不断出现错误消息。

请帮忙!

最佳答案

尝试:

awk -F, '{print $1,$2,$3,$4,$5} NR==10{exit}' OFS=', ' file.csv

[注意 awk 代码在引号中,而不是双引号。这是防止 shell 将 $1 等误解为 shell 变量并扩展它们所必需的。]

工作原理

  • -F, 告诉 awk 使用 , 作为输入的字段分隔符。这等同于 BEGIN {FS = ","},但更简洁。

  • print $1,$2,$3,$4,$5 告诉 awk 打印前五列。 (请参阅下文了解为什么此版本中不需要 ", " 字符串。)

  • NR==10{exit} 在第十行告诉 awk 退出。

  • OFS=', ' 告诉 awk 使用逗号空格作为输出的字段分隔符。此设置使原始代码中的大部分引用变得不必要。

关于bash - 如何只选择我的 AWK 脚本中的前 10 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37097272/

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