文字列に一致するすべての行と、その文字列の後の指定された行数を印刷します。

文字列に一致するすべての行と、その文字列の後の指定された行数を印刷します。

ログファイルから交通ハブと接続に関するデータを抽出したいと思います。ログの例:

SCN DD1251       At Glasgow Road - Kilbowie Road                                
Modified                   By ________                                          
Type CR                                                                         
Region  WS  Subregion                                                           
            UPSTREAM               DOWNSTREAM               FILTER              
          NODE     LINK          NODE    LINK                LINK               
        DD1271      C           DD1271    R                                     
        DD1351      D           DD1351    B                                     
                    E                                                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
       Stage Suffix for Offset Optimizer  1                                     
Double Cycle Initially ?  N   Force Single / Double Cycling status ? N          
Double Cycle Group       00   Double Cycle Ignore ? N                           
Allow Link Max Saturation N   Link Max Sat Override N                           
Stages       1   2   3   4                                                      
Fixed        N   N   N   Y                                                      
LRT stage    N   N   N   N                                                      
Skip allowed N   N   N   N                                                      
Ped stage    N   N   N   N                                                      
Ped invite   N   N   N   N                                                      
Ghost stage  N   N   N   N                                                      
Offset authority pointer   0     Split authority pointer   0                    
Offset opt emiss weight  000     I/green feedback inhibit  N                    
                                                                                
                                                                                
Bus Authority   00  ACIS node  00000                                            
                                                                                
Bus Mode - Central extensions  N   Local extensions  N  Recalls  N              
           Stage skipping      N   Stage truncation  N Cancels   N              
Bus Priority Selection - Multiple buses  N  Queue Calculation  N                
Hold recall if faulty N  Disable recall  N  Disable long jtim  N  Real Cancel N 
                                                                                
Bus recall recovery type      0  Bus extension recovery type  0                 
Offset Bus authority pointer  0  Split Bus authority pointer  0                 
Bus skip recovery             0  Skip importance factor       0                 
Bus priority status   OFF                                                       
LRT sat 1  000  LRT sat 2  000  LRT sat 3  000                                  
                                                                                
                                                                                
                  PEDESTRIAN FACILITIES                                         
Ped Node                   N        Num Ped Wait Imp Factor     000             
Ped Priority               0        Max Ped Priority Freq        00             
Ped Lower Sat Threshold  000        Ped Upper Sat Threshold     000             
Max Ped Wait Time        000                                                    
               PEDESTRIAN VARIABLE INVITATION TO CROSS                          
Allow Ped Invite       N            Ped Priority Auto           000             
Ped Invite Upper Sat 000 Prio Level 1    2    3    4                            
Max Ped Priority Smoothed Time     000  000  000  000                           
Max Ped Priority Increase Length    00   00   00   00                           
                  CYCLE TIME FACILITIES                                         
Allow Node Independence    N        Operator Node Independence    0             
Ghost Demand Stage         N        Num Ghost Assessment Cycles  15             
Upper Trigger Ghost       04        Lower Trigger Ghost           0             
                                                                                
SCN DD1271       At Glasgow Road - Hume Street                                  
Modified 13-OCT-15 15:06   By BDAVIDSON                                         
Type CR                                                                         
Region  WS  Subregion                                                           
            UPSTREAM               DOWNSTREAM               FILTER              
          NODE     LINK          NODE    LINK                LINK               
        DD1301      T           DD1301    A                                     
        DD1251      R           DD1251    C                                     
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
       Stage Suffix for Offset Optimizer  1                                     
Double Cycle Initially ?  N   Force Single / Double Cycling status ? N          
Double Cycle Group       00   Double Cycle Ignore ? N                           
Allow Link Max Saturation N   Link Max Sat Override N                           
Stages       1   2   3                                                          
Fixed        N   Y   Y                                                          
LRT stage    N   N   N                                                          
Skip allowed N   N   N                                                          
Ped stage    N   N   N                                                          
Ped invite   N   N   N                                                          
Ghost stage  N   N   N                                                          
Offset authority pointer   0     Split authority pointer   0                    
Offset opt emiss weight  000     I/green feedback inhibit  N                    
                                                                                
                                                                                
Bus Authority   00  ACIS node  00000                                            
                                                                                
Bus Mode - Central extensions  N   Local extensions  N  Recalls  N              
           Stage skipping      N   Stage truncation  N Cancels   N              
Bus Priority Selection - Multiple buses  N  Queue Calculation  N                
Hold recall if faulty N  Disable recall  N  Disable long jtim  N  Real Cancel N 
                                                                                
Bus recall recovery type      0  Bus extension recovery type  0                 
Offset Bus authority pointer  0  Split Bus authority pointer  0                 
Bus skip recovery             0  Skip importance factor       0                 
Bus priority status   OFF                                                       
LRT sat 1  000  LRT sat 2  000  LRT sat 3  000                                  
                                                                                
                                                                                
                  PEDESTRIAN FACILITIES                                         
Ped Node                   N        Num Ped Wait Imp Factor     000             
Ped Priority               0        Max Ped Priority Freq        00             
Ped Lower Sat Threshold  000        Ped Upper Sat Threshold     000             
Max Ped Wait Time        000                                                    
               PEDESTRIAN VARIABLE INVITATION TO CROSS                          
Allow Ped Invite       N            Ped Priority Auto           000             
Ped Invite Upper Sat 000 Prio Level 1    2    3    4                            
Max Ped Priority Smoothed Time     000  000  000  000                           
Max Ped Priority Increase Length    00   00   00   00                           
                  CYCLE TIME FACILITIES                                         
Allow Node Independence    N        Operator Node Independence    0             
Ghost Demand Stage         N        Num Ghost Assessment Cycles  15             
Upper Trigger Ghost       04        Lower Trigger Ghost           0    

次のBashスクリプトを使用して、最初の関連行をすでに抽出できます。

grep SCN* LOG.TXT > JUNCTIONS.txt

以下のように、すべての接続ポイントのリストが作成されます。

SCN DD1251       At Glasgow Road - Kilbowie Road                                
SCN DD1271       At Glasgow Road - Hume Street                                  
SCN DD1301       At Glasgow Road - Argyll Road - Cart Street                    
SCN DD1351       At Kilbowie Road - Chalmers Street
...
    

ただし、各リンクヘッダの直後に多くのスペースが発生する前に、ノードの最後のリンクまで行を抽出し、次のリンクまでステップサフィックスから始めて何もキャプチャしないようにします。

一致する各インスタンスが見つかった後に追加の行数を含めるようにBASHスクリプトを変更する方法はありますか?

ベストアンサー1

これはあなたが望むものですか?

sed -n '/^SCN/,/^\s*$/p' LOG.TXT

2つのパターン間の行(およびそれを含む行)を印刷します。

  • 行の先頭に「SCN」が表示されます(^SCN)。
  • ゼロ個以上の空白文字を含む空行( ^\s*$)

そして以下を出力します。

SCN DD1251       At Glasgow Road - Kilbowie Road                                
Modified                   By ________                                          
Type CR                                                                         
Region  WS  Subregion                                                           
            UPSTREAM               DOWNSTREAM               FILTER              
          NODE     LINK          NODE    LINK                LINK               
        DD1271      C           DD1271    R                                     
        DD1351      D           DD1351    B                                     
                    E                                                           
                                                                                
SCN DD1271       At Glasgow Road - Hume Street                                  
Modified 13-OCT-15 15:06   By BDAVIDSON                                         
Type CR                                                                         
Region  WS  Subregion                                                           
            UPSTREAM               DOWNSTREAM               FILTER              
          NODE     LINK          NODE    LINK                LINK               
        DD1301      T           DD1301    A                                     
        DD1251      R           DD1251    C                                     
                                                                                

おすすめ記事