Quartusによって生成されたレポートファイルには、次のようないくつかの「テーブル」があります。
+---------------------+
; Section1 Title ;
+---------------------+
Miscellaneous text
+-----------------+
; Table1 Header ;
+--------+--------;
; Field1 ; Field2 ;
; Field3 ; Field4 ;
+--------+--------+
Table notes
+------------------------+
; Table2 Header ;
+---------------+--------;
; Longer Field1 ; Field2 ;
; Longer Field3 ; Field4 ;
+---------------+--------+
+---------------------+
; Section2 Title ;
+---------------------+
Miscellaneous text
注:セクションと表の間には常に空白行があります。
以下のように、「ヘッダー」に一致する項目に基づいて完全なテーブルを印刷できるようにしたいです。
+-----------------+
; Table1 Header ;
+--------+--------;
; Field1 ; Field2 ;
; Field3 ; Field4 ;
+--------+--------+
Table notes
現在、grepの次の組み合わせを使用してスタートアップテーブルの行を印刷し、sedを使用して残りを印刷していますが、sedだけを使用してこれらすべてを実行できるようです。
grep -h -B 1 "; Table1 Header" quartus.rpt | grep -v "; Table1 Header"
sed -n '/; Table1 Header/,/^$/p' quartus.rpt
ベストアンサー1
awkを使用してください。
$ awk -v RS= '/Table1 Header/' file
+-----------------+
; Table1 Header ;
+--------+--------;
; Field1 ; Field2 ;
; Field3 ; Field4 ;
+--------+--------+
Table notes