테스트에서 취한 실행 시간 목록이 연속적 (줄 바꿈되지 않음)의 목록이 있습니다. 형식으로 인쇄되어 있습니다 :리눅스에서 문자열에서 패턴을 추출하는 방법
<execution time> s -----> <Testcase name><optionally:[Parameters used by test]> <execution time> s ... <Testcase name>
예 :
1.2 s -----> Testa[0. param1] 2.4 s -----> Testb 3 s -----> Testc
이 나에게 각 테스트의 실행 시간을 제공합니다.
문제를 추출하는 것은 공간을 사용하여 분할 할 수 없으며 할당 시간 = split [i] 및 testcase = split [i + 3] (Testa의 경우와 같이 추가 매개 변수가 있음)입니다.
각 시간 간격의 시작 부분에 새 라인을 추가하고 시간과 테스트 케이스 이름 만 추출 할 수 있기를 원합니다.
나는
sed -r 's/^[^0-9]*([0-9]+).*/\1/' /tmp/tmp
를 수행하여 시간을 얻기 위해 시도했지만 내가 나오지 -r을 지원하지 않습니다 맥 OS를 사용하고 있습니다.
촬영 한 시간과 해당 테스트 케이스 이름을 문자열에서 추출하는 더 좋은 방법이 있습니까? 예를 들어
제공
는, 출력 포맷이 될 수1.2,Testa[0. param1]
2.4,Testb
3,Testc
PS : I가 주어진 입력하여 입력 파일 패턴
[편집 도움말] (http://stackoverflow.com/editing-help)을 참조하십시오. – Cyrus
당신의 입력의 한 가지 예는 상상력의 스트레칭이 아니라 입력이 취할 수있는 형식의 명세가 아니라 사양이 우리가 필요로하는 것입니다. 전체 사양이없는 경우 최소한 코너 케이스를 다루는 광범위한 예제를 제시 할 수 있습니다. –
2. 고침! –