2013-04-27 101 views
0

我的脚本使用while循环逐行读取xyz.txt文件,如果条件匹配,我想打印下一行。例如如果[“$ count”-gt“5”];那么Shell脚本打印下一行

请教。

谢谢,

回答

1

AWK或sed的是一个更好的选择AWK例如:在壳

awk 'FNR>5' inputfile 

同样的事情

cnt=0 
while read rec 
do 
    cnt=$(($cnt + 1)) 
    [ $cnt -gt 5 ] && echo "$rec" 
done < inputfile 
+0

感谢您的响应而将上述溶液打印下一行后条件匹配? – user28104 2013-04-27 18:38:20

+0

从文件读取的条件大于5行 - 是的。这意味着第6行将成为您看到的第一行。并且#6的所有行 - 文件结尾都会出现。 – 2013-04-27 18:45:12

+0

感谢吉姆,但5只是一个例子,因为这个值也是一个变数。我可以像cnt = 0 那样做,而读行 做 if [$ cnt -gt 5];然后cnt = $(($ cnt + 1)) echo $ line done user28104 2013-04-27 19:00:16