我希望能够打印大文件中前10行特定列(在下面的示例中,第9列的值小于1)具有特定值的每一行。我不想将整个文件存储在内存中。我尝试使用awk来实现这个目的,如下所示:
awk 'BEGIN{FS=","}
{
for (i=FNR,i<FNR+10, i++) saved[++s] = $0 ; next
for (i=1,i<s, i++)
if ($9<1)
print saved[s]; delete saved; s=0
}' file.csv
这个命令的目标是保存前10行,然后检查这些行中第9列是否符合我的条件,最后打印当前行。如果有任何帮助或更有效的建议,请不吝赐教!
for( .. ; .. ; .. )
,而不是逗号。 - Lars Fischer