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
통해 명령에 공급하고 이를 입력 파일에 반환하고 이전 날짜/시간 필드를 출력합니다.-f
paste
cut