2017-04-20 26 views
0

我有一個文本文件,其中包含這樣的事情SED刪除行,如果一個模式之後象徵,是不是數字

   ESSID:"228" 
       Frequency:5.02 GHz (Channel 4) 
       Quality=7/94 Signal level=-89 dBm Noise level=-99 dBm 

       ESSID:"1_156" 
       Frequency:5.305 GHz (Channel 61) 
       Quality=28/94 Signal level=-68 dBm Noise level=-98 dBm 

       ESSID:"" 
       Frequency:5.32 GHz (Channel 64) 
       Quality=7/94 Signal level=-89 dBm Noise level=-98 dBm 

       ESSID:"" 
       Frequency:5.745 GHz (Channel 149) 
       Quality=21/94 Signal level=-75 dBm Noise level=-99 dBm 

       ESSID:"Apsnyaimadara" 
       Frequency:5.11 GHz (Channel 22) 
       Quality=22/94 Signal level=-74 dBm Noise level=-97 dBm 

,我想擺脫不包含數字,所有的ESSID和一個牌子。你能告訴我如何刪除一行,如果它包含ESSID:「和下一個符號後,該模式將不會是一個數字= =)事實上,我期待完全刪除這些塊,而不僅僅是一條線,但我可以從該開始,任何幫助將不勝感激=)使用桑達

+0

請將您希望的輸出樣本輸入添加到您的問題中。 – Cyrus

+0

完全如您所願,再次感謝! =) – Konstantin

回答

0

隨着GNU

PS的sed:

sed -nE '/ESSID:"[0-9_]+"/,/^$/p' file 

或GNU的grep:

grep -A3 -E 'ESSID:"[0-9_]+"' file 

輸出:

 
       ESSID:"228" 
       Frequency:5.02 GHz (Channel 4) 
       Quality=7/94 Signal level=-89 dBm Noise level=-99 dBm 

       ESSID:"1_156" 
       Frequency:5.305 GHz (Channel 61) 
       Quality=28/94 Signal level=-68 dBm Noise level=-98 dBm 

+0

grep像一個魅力工作謝謝! – Konstantin

相關問題