2013-04-27 102 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