파일에서 경과 시간 값 가져오기

파일에서 경과 시간 값 가져오기

파일에서 경과 시간을 출력해야 합니다. "과거"앞의 값이 필요합니다 2:10:42.

문서 내용:

312.90user 15.57system 2:10:42elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (1major+152440minor)pagefaults 0swaps

답변1

Perl을 사용하는 것은 비교적 쉽습니다.

perl -n -E '/([0-9:]+)elapsed/ and say $1' «FILE»

"elapsed"(공백 없이)라는 단어 이전의 시간과 같은 것을 찾는다는 점에 유의하세요. 다른 파일에 적용할 경우 오탐(false positive)이 발생할 수 있습니다. 또한 첫 번째 줄뿐만 아니라 파일의 모든 줄을 확인하고 발견된 경과 시간을 인쇄합니다.

답변2

"(time)elapsed"가 포함된 줄에서 "(anything) (space) (time)elapsed(anything)"을 검색하고 모든 것을 "(time)"으로 바꾼 다음 결과 줄을 인쇄합니다.

sed -n '/[0-9:]*elapsed/ { s/.* \([0-9:]*\)elapsed.*/\1/;p }' input > output

답변3

이렇게 하세요:

데이터가 다음과 같은 파일에 있다고 가정합니다.문서다음을 수행할 수 있습니다.

$ head -1 file | awk '{ print $3 }' | sed 's/elapsed//'

다음을 반환합니다.2:10:42


그것을 파괴:

다음 명령을 사용하여 파일의 첫 번째 줄을 가져옵니다.

head -1 file

힘든 일은 다음 사람이 한다.:

awk '{ print $3 }'

세 번째 데이터 블록만 인쇄합니다 2:10:42elapsed.

그런 다음 사용sed구성할 문자열 편집기:

sed 's/elapsed//'

원하는 위치로 출력을 리디렉션할 수 있습니다. 예를 들어 다음을 추가하면 됩니다.

> output.text

2:10:42이름이 지정된 파일로 출력출력.txt

위의 내용은 모든 내용을 중단 (교체)합니다.출력.txt문서. 파일 끝에 데이터를 추가하려면 >>대신 >.

관련 정보