次のように行を変更する sed regex コマンドを作成するのに苦労しています。
In file included from dira/file_a.h:8, dire/file_e.h:9, and dirf/file_f.h:10,
from dirb/file_b.h:6,
from /existing/abs/path/dirb/file_b.cc:6:
dirc/file_c.h:88: error: 'eqn_count_t' does not name a type
dirc/file_c.h:95: error: 'wave_count_t' does not name a type
dirc/file_c.h:104: error: ISO C++ forbids declaration of 'WmHyperbolicEqnSet' with no type
この目的の出力に:
In file included from /abspaths/dira/file_a.h:8, /abspaths/dire/file_e.h:9, and /abspaths/dirf/file_f.h:10,
from /abspaths/dirb/file_b.h:6,
from /existing/abs/path/dirb/file_b.cc:6:
/abspaths/dirc/file_c.h:88: error: 'eqn_count_t' does not name a type
/abspaths/dirc/file_c.h:95: error: 'wave_count_t' does not name a type
/abspaths/dirc/file_c.h:104: error: ISO C++ forbids declaration of 'WmHyperbolicEqnSet' with no type
それで、
- .h で終わる相対パス + ファイル名のみに一致
- スラッシュで始まる行には一致しません (したがって、すでに絶対パスになっています)。
- 行ごとに複数の出現に一致
- Mac OS Xの BSD sed コマンドで動作するコマンドが必要であることが明らかになりました。
必要な正規表現と sed コマンドは何ですか?
エラー/警告を含むヘッダーファイルが含まれていると、絶対パスではなく相対パスが参照されたエラーストリーム出力が生成されるため、gcc 出力を変更しようとしています。私の XCode IDE が外部ビルド システムを呼び出すと、.h ファイルで発生するエラーは「クリック可能」ではありません。