私のmakefileから、ファイルパス、ファイル名、行番号、エラーメッセージを含むメッセージを返すperlスクリプトを呼び出しました。私はファイルパスとファイル名だけが必要です。私のスクリプトはこのメッセージをstdoutに出力し、自動的にコンソールに表示されます。シェル内の警告メッセージから部分文字列を取り出す方法
私のメイクファイルでは、どのようにファイルパスとファイル名を取得できますか?私はgrep、sedまたはteeを使用するか、またはどちらを使うのが最も適しているかについては公開しています。
私の文字列は、このです:
Warning: <filepath>/<filename>: <line number> <some message>
例えば:
Warning temp/output/dir/report.txt: 545 problem with parsing blah blah blah.
だから、私は唯一の "TEMP /出力/ DIR/REPORT.TXT" の部分を取得する必要があります。これを行う最善の方法は何ですか?
なぜ「メイクファイル」で違いがあると思いますか? Makefileのコマンドは、シェルによって実行されます。コマンドラインと同じように出力をフィルタリングします。 "Makefile"部分全体を削除するように質問をよく言い直してください。個人的に、私は 'perlscript | – DevSolar
@chris yo: – Inian