私はこの問題を解決するためにc-shell(私は他のオプションは利用できないと思います)とSEDを使用しようとしています。失敗したすべてのいくつかのテストの報告書で、この例のファイルを考える:2パターン一致後のSED抽出最初の出現
============
test_085
============
- Signature code: F2B0C
- Failure reason: timeout
- Error: test has timed out
============
test_102
============
- Signature code: B4B4A
- Failure reason: syntax
- Error: Syntax error on file example.c at line 245
============
test_435
============
- Signature code: 000FC0
- Failure reason: timeout
- Error: test has timed out
私が実行しているすべてのテストをループするスクリプトを持っていると私は失敗したかどうかを確認するために、このレポートに対してそれらをチェックして、後で統計を行う:
if (`grep -c $test_name $test_report` > 0) then
printf ",TEST FAILED" >>! $report
else
printf ",TEST PASSED" >>! $report
endif
私がしたいのは、$ test_reportに$ test_nameが見つかった場合に理由を抽出することです。たとえば、test_085の場合は 'timeout'のみを抽出し、test_102は '構文'のみを抽出し、test_435 'timeout'の場合はtest_045を抽出します(このレポートには存在しないため意味がありません)。 test_085、失敗の理由を:
ありがとうございます!私は実際にテスト名が印刷される必要はありません。失敗の理由だけで、私はプリント名を取り出しました。コマンドを少し細かくすることは可能ですか? – Birbal
@Birbal、よろしくお願いします。私の説明を参照してください – RomanPerekhrest
もう一度ありがとう!すべて意味をなさない。 – Birbal