다음 구조의 로그 파일이 있습니다.
예:
1522693524403 entity1,sometext
1522693541466 entity2,sometext
1522693547273 entity1,sometext
...
이제 모든 로그 파일의 시간을 epoch 밀리 초에서 DD.MM.YYYY HH : MM : SS로 데비안 시스템의 bash 명령으로 바꾸고 싶습니다.
여기와 다른 웹 사이트에서 제공된 다른 솔루션을 시도했지만 실제로 작동하지 않았습니다.
누구든지 나를 도울 수 있습니까?
건배
빠른 부팅
한 줄씩 읽는 쉘 스크립트를 사용하거나 awk
시스템을 호출 하는 스크립트 를 사용하면 date
프로세스가 너무 느리고 너무 많습니다. 간단한 awk, Perl, Python 또는 기타 스크립트를 사용해야합니다. 모든 언어에는 형식 간 변환을위한 표준 datetime 함수가 있습니다.
여기 와 여기 에 좋은 참고 자료가 있습니다. 당신은 GNU를 사용하려면 awk
시간 기능을 하고 strftime()
, 당신이 경우에 필요한 모든 밀리 초를 제외한 시대의 문자열을 선택하는 것입니다 :
$ awk '{$1 = strftime("%F %T", substr($1,1,10))} 1' file
2018-04-02 21:25:24 entity1,sometext
2018-04-02 21:25:41 entity2,sometext
2018-04-02 21:25:47 entity1,sometext
또는 밀리 초를 함께 인쇄하려면 :
$ awk '{$1 = strftime("%F %T", substr($1,1,10)) "." substr($1,11)} 1' file
2018-04-02 21:25:24.403 entity1,sometext
2018-04-02 21:25:41.466 entity2,sometext
2018-04-02 21:25:47.273 entity1,sometext
또는 일-월-연도 형식을 인쇄하려면 :
$ awk '{$1 = strftime("%d-%m-%Y %T", substr($1,1,10))} 1' file
02-04-2018 21:25:24 entity1,sometext
02-04-2018 21:25:41 entity2,sometext
02-04-2018 21:25:47 entity1,sometext
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다