我正在處理比我想要的更冗長的輸出,所以我試圖用grep來減少它。輸出看起來是這樣的......如何刪除反向grep匹配上方和下方的行?
path/to/file1:
No Problems Found
path/to/file3:
Problem Found
我想篩選出有關文件沒有問題的所有輸出。我可以通過輸出grep -v "No Problems Found"
來刪除其中的一行。我認爲我可以沿着grep -B 1 -A 1 -v "No Problems Found"
的方向使用-B和-A,但事實證明,當與-v結合使用時,它們不會反轉。
在導出文件後,我可以在Vim中很快地修改輸出,但是我想直接在命令行上執行它,如果可以的話。有任何想法嗎?這對Awk還是Sed來說更好?
感謝@ChristianF,出現做什麼,我需要!我想我遵循它的一部分,但是''a; N; $!ba;'部分在做什麼? –
請看這裏:http://stackoverflow.com/questions/1251999/sed-how-can-i-replace-a-newline-n。它基本上允許你匹配/替換整個新行 –
''我想我遵循它的一部分,但什麼是:a; N; $!ba;部分在做什麼?「 - 無價:-)。 –