로그 파일의 날짜 문자열 열에서 타임스탬프 열로

로그 파일의 날짜 문자열 열에서 타임스탬프 열로

log.txt다음과 같은 샘플 출력이 있습니다 .

...
10-Feb-2022 15:15:14.099 lorem
10-Feb-2022 15:15:15.133 ipsum
10-Feb-2022 15:15:16.233 dolor
...

필터링된 log.txt의 출력은 다음과 같을 것으로 예상했습니다.

...
1644480914 lorem
1644480915 ipsum
1644480916 dolor
...

날짜 문자열을 타임스탬프로 변환하는 방법을 알아냈습니다.

date --date='10-Feb-2022 15:15:14.099' +"%s"
Output:
1644480914

내 두뇌는 여전히 해당 날짜 명령을 log.txt에 적용하는 방법을 이해하지 못합니다.

또한 해당 날짜 명령을 어떻게 파이프합니까?

printf "10-Feb-2022 15.15.17.012 water" | date --date=<what must i put here?> + "%s"

파이프라인 명령의 출력은 다른 열을 방해하지 않는다는 점을 제외하면 동일할 것으로 예상됩니다.1644480917 water

답변1

귀하의 명령은 날짜/시간을 전달하는 date옵션을 허용하는 것으로 나타납니다 . -d다음과 같은 것을 시도해보세요

cut -d' ' -f-2 file | date +%s -f- | paste -d' ' - file | cut -d' ' -f1,4-
1644502514 lorem
1644502515 ipsum
1644502516 dolor

cut입력에서 날짜/시간 필드를 가져와 ( readDATEFILE) 옵션을 date통해 명령에 공급하고 이를 입력 파일에 반환하고 이전 날짜/시간 필드를 출력합니다.-fpastecut

관련 정보