我在腳本中運行while循環ro逐行讀取文件。文件中特定行號後的Grep模式
現在我想只在我正在被while循環讀取的行下面的行上運行grep。
如:
如果我while循環上的文件的第4行,grep的只運行低於4號線,不包括行1,2和3
這是怎麼實現的?
問候。
我在腳本中運行while循環ro逐行讀取文件。文件中特定行號後的Grep模式
現在我想只在我正在被while循環讀取的行下面的行上運行grep。
如:
如果我while循環上的文件的第4行,grep的只運行低於4號線,不包括行1,2和3
這是怎麼實現的?
問候。
你不能使用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)
這聽起來像你問的:
awk 'NR>3 && /regexp/' file
但是每次你在shell中編寫一個循環來操縱文本時,你都會有錯誤的方法,所以如果你正在做的是這樣,那麼發佈樣本輸入/輸出,如果你想看到正確的方法去做。
您應該建立要搜索的*列表,然後運行'grep -F'。 –
Rubens
因此,對於文件的每一行,您將處理整個文件的其餘部分?相當低效。請描述您實際嘗試解決的問題,也許我們可以提供替代方案。 –
wrt'我在腳本中運行while循環ro逐行讀取文件。停止。你做錯了。發佈樣本輸入和預期輸出,以便我們可以幫助您找出正確的方法。 –