我有一个大的CSV文件.基本上我想要做的只是显示前5列(我可以)但我也只想显示前10行,这是我无法弄清楚的.现在这是我的.awk文件脚本:
"BEGIN {FS = ","}
{print $1", " $2", " $3", " $4", " $5}"
Run Code Online (Sandbox Code Playgroud)
在Tera Term中,这是我使用的命令,它导致显示每行的前5列:$ awk -f example.awk example.csv
我尝试了几种使用NR <= 11的方法,但是当尝试在Tera Term上运行时,它会不断出现错误消息.
请帮忙!
尝试:
awk -F, '{print $1,$2,$3,$4,$5} NR==10{exit}' OFS=', ' file.csv
Run Code Online (Sandbox Code Playgroud)
[请注意,awk代码是单引号,而不是双引号.这是必要的,以防止shell误解$1为shell变量并扩展它们.]
-F,告诉awk使用,输入作为字段分隔符.这相当于但更简洁BEGIN {FS = ","}.
print $1,$2,$3,$4,$5告诉awk打印前五列.(请参阅下文,了解", "此版本中不需要字符串的原因.)
NR==10{exit} 告诉awk退出第十行.
OFS=', '告诉awk使用逗号空间作为输出的字段分隔符.此设置使得原始代码中的大部分引用都不必要.
或者,
awk -F, 'NR==1, NR==10 {print $1,$2,$3,$4,$5}' OFS=', ' file.csv
Run Code Online (Sandbox Code Playgroud)
该解决方案有一个小小的优点,即它也适用于不以第一行开头的范围,例如NR==21, NR==35。
| 归档时间: |
|
| 查看次数: |
5260 次 |
| 最近记录: |