2015-05-11 59 views
0

我在腳本中運行while循環ro逐行讀取文件。文件中特定行號後的Grep模式

現在我想只在我正在被while循環讀取的行下面的行上運行grep。

如:

如果我while循環上的文件的第4行,grep的只運行低於4號線,不包括行1,2和3

這是怎麼實現的?

問候。

+0

您應該建立要搜索的*列表,然後運行'grep -F '。 – Rubens

+0

因此,對於文件的每一行,您將處理整個文件的其餘部分?相當低效。請描述您實際嘗試解決的問題,也許我們可以提供替代方案。 –

+0

wrt'我在腳本中運行while循環ro逐行讀取文件。停止。你做錯了。發佈樣本輸入和預期輸出,以便我們可以幫助您找出正確的方法。 –

回答

0

你不能使用grep獨自做到這一點,但你可以,如果你使用它的朋友:

tail +100 file_im_searching | grep pattern_i_want 

使用+選項,您可以告訴尾多遠到該文件中啓動。如果您在while循環中保持跟蹤你的行號,你可以做這樣的事情:

tail +$LINENUMBER file | grep pattern 

看着你的問題的細節,但是,我不知道你會更好傳遞行你必須通過的grep或SED或東西..

例如,假設您已經閱讀了行成可變LINE,也許是:

set RESULT = $(echo $LINE | grep stuff_to_search_for) 
0

這聽起來像你問的:

awk 'NR>3 && /regexp/' file 

但是每次你在shell中編寫一個循環來操縱文本時,你都會有錯誤的方法,所以如果你正在做的是這樣,那麼發佈樣本輸入/輸出,如果你想看到正確的方法去做。

相關問題