使用AWK循环到特定范围

问题描述 投票:0回答:2

我有一个包含多个部分的csv文件。我想只循环一个特定的范围。说到第10行到第100行。

到目前为止,我的下面代码遍历整个表格。

awk -v val1='Batch File Name' -F ',' '{for (i=1; i<=NF; i++) if ($i==val1) {print i} }' "$FILES"
csv awk
2个回答
2
投票

要仅匹配某些行,您可以使用begin pattern,end pattern构造

NR==10,NR==100 { action}

0
投票

如果您的文件很长,这可能会更快

awk -F, -v val1='Batch File Name' 'NR>100{exit} 
           NR>=10{for(i=1;i<=NF;i++) if($i==val1) print i} files
© www.soinside.com 2019 - 2024. All rights reserved.