【发布时间】:2016-04-30 17:18:37
【问题描述】:
我想打印一个大文件中的每一行,其中前 10 行在特定列中具有特定值(在下面的示例中,第 9 列的值
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( .. ; .. ; .. )和分号而不是逗号。
标签: awk