1139826Simpecho T.nextfile: tests of nextfile command 253541Sshin 353541Sshinawk=${awk-../a.out} 453541Sshin 553541Sshin# 1st lines of some files 653541Sshinrm -f foo0 753541Sshinfor i in T.* 853541Sshindo 953541Sshin sed 1q $i >>foo0 1053541Sshindone 1153541Sshin 1253541Sshin$awk ' 1353541Sshin{ print $0; nextfile } # print first line, quit 1453541Sshin' T.* >foo1 1553541Sshin 1653541Sshindiff foo0 foo1 || echo 'BAD: T.nextfile 1' 1753541Sshin 1853541Sshin$awk ' # same test but in a for loop 1953541Sshin{ print $0; 2053541Sshin for (i = 1; i < 10; i++) 2153541Sshin if (i == 1) 2253541Sshin nextfile 2353541Sshin print "nextfile for error" 2453541Sshin} # print first line, quit 2553541Sshin' T.* >foo1 2653541Sshin 2753541Sshindiff foo0 foo1 || echo 'BAD: T.nextfile 1f' 2853541Sshin 2953541Sshin$awk ' # same test but in a while loop 3053541Sshin{ print $0; 3153541Sshin i = 1 32139826Simp while (i < 10) 3353541Sshin if (i++ == 1) 3453541Sshin nextfile 3553541Sshin print "nextfile while error" 3653541Sshin} # print first line, quit 3753541Sshin' T.* >foo1 3853541Sshin 3953541Sshindiff foo0 foo1 || echo 'BAD: T.nextfile 1w' 4053541Sshin 4153541Sshin$awk ' # same test but in a do loop 4253541Sshin{ print $0; 4353541Sshin i = 1 4453541Sshin do { 4553541Sshin if (i++ == 1) 4653541Sshin nextfile # print first line, quit 4753541Sshin } while (i < 10) 4853541Sshin print "nextfile do error" 4953541Sshin} 5053541Sshin' T.* >foo1 5153541Sshin 5253541Sshindiff foo0 foo1 || echo 'BAD: T.nextfile 1d' 5353541Sshin 5453541Sshin 5553541Sshin# 100 lines of some files 5653541Sshinrm -f foo0 5753541Sshinfor i in T.* 5853541Sshindo 5953541Sshin sed 100q $i >>foo0 6053541Sshindone 6153541Sshin 6253541Sshin$awk ' 6355009Sshin{ print } 6478064SumeFNR == 100 { nextfile } # print first line, quit 6555009Sshin' T.* >foo1 6653541Sshin 6795759Stanimuradiff foo0 foo1 || echo 'BAD: T.nextfile 2' 6895759Stanimura 6953541Sshin 7095759Stanimura>foo0 # empty 71170689Srwatson$awk ' { nextfile; print $0 }' T.* >foo1 7253541Sshin 7395759Stanimuradiff foo0 foo1 || echo 'BAD: T.nextfile 3' 7495759Stanimura 7553541Sshin# skip weird args 7653541Sshinrm -f foo0 7795759Stanimurafor i in T.* 78148385Sumedo 7953541Sshin sed 1q $i >>foo0 8053541Sshindone 8195759Stanimura 8253541Sshin$awk ' 8353541Sshin{ print $0; nextfile } # print first line, quit 8453541Sshin' T.* >foo1 8553541Sshin 8653541Sshindiff foo0 foo1 || echo 'BAD: T.nextfile 4' 8795759Stanimura