我有這樣的grep的:如何保存grep匹配的行?
INPUT hello.txt
OUTPUT stack.txt
INPUT stack.txt
OUTPUT hello.txt
INPUT overflow.txt
OUTPUT overflow.txt
OUTPUT byebye.txt
INPUT byebye.txt
INPUT nick.txt
OUTPUT jesus.txt
特輸出將是::
iarr
INPUT hello.txt
INPUT stack.txt
INPUT overflow.txt
INPUT byebye.txt
INPUT nick.txt
oarr
iarr=`grep -Poh '.*INPUT' file.txt`
oarr=`grep -Poh '.*OUTPUT' file.txt`
與此內容file.txt的的
所以
OUTPUT stack.txt
OUTPUT hello.txt
OUTPUT overflow.txt
OUTPUT byebye.txt
OUTPUT jesus.txt
很好,但我想知道文件名,我需要在輸入會有怎樣的輸出,我的意思是:
- 如果輸入文件具有行的(同一個文件)的輸出實際行的波紋管,那麼這個項目將從oarr中刪除。
- 如果一個OUTPUT文件在實際行的上方有一行INPUT(同一個文件),那麼這個項目將從iarr中刪除。
有了這些條件,其結果必然是以下幾點:
iarr
INPUT hello.txt
INPUT overflow.txt
INPUT nick.txt
oarr
OUTPUT stack.txt
OUTPUT byebye.txt
OUTPUT jesus.txt
我想要得到這樣的結果,但我不」不知道如何在grep命令中存儲正則表達式的特定匹配行...這是我想要解決的問題,你有另一個想法來做到這一點嗎? 可能會逐行閱讀......
根據您的要求,我不明白您的輸出。 「byebye」在兩個陣列中都有相同的索引。爲什麼從iarr中刪除? –