作为简单执行awk命令的kdb q系统的一部分,我可以找到要加载到kdb的CSV文件中的列数。
.helper.ux.getnumberofcolumns:{[filename]
ncols:@[system;"awk -F, '{print NF; exit}' ",filename;()];
:first {"I"$x} @/: ncols;}
基于awk的系统命令只是执行awk -F, '{print NF; exit}' <filename>
我可以在Windows shell批处理/ cmd等中使用类似的命令来完成同样的事情吗?没有安装Cygwin很重要(内部公司不能安装它)
答案 0 :(得分:1)
Powershell的:
Get-Content .\awk.txt | %{ $a=$_.Split(','); Write-Host "No of fields in record="$a.length; break; }
有关此here的更多信息。
答案 1 :(得分:1)
假设csv中的所有行都有相同数量的字段,您可以使用该文件的第一条记录来确定文件中的字段数。
{count "," vs raze "head -1 ",x}