파일의 타임스탬프 형식 바꾸기

파일의 타임스탬프 형식 바꾸기

아래와 같이 타임스탬프 형식이 포함된 파일이 있습니다.

'2020-03-07T14:42:36Z UTC [ db=dev user=rdsdb pid=16913 userid=1 xid=5326 ]' LOG: SET statement_timeout TO 120000

이 타임스탬프 형식을 다음으로 변경하고 싶습니다.

2020-03-07 14:42:36 UTC

이 파일에.

이것은 로그 파일이므로 형식을 직접 변경할 수 없으며 수십억 줄이 있습니다.

답변1

sed -e 's/T/ /' -e 's/Z//' file

또는 동등하게,

sed 's/T/ /; s/Z//' file

먼저 T파일의 각 줄의 첫 번째 문자를 공백으로 바꾼 다음 첫 번째 문자를 제거하면 Z변환됩니다.

'2020-03-07T14:42:36Z UTC [ db=dev user=rdsdb pid=16913 userid=1 xid=5326 ]' LOG: SET statement_timeout TO 120000

입력하다

'2020-03-07 14:42:36 UTC [ db=dev user=rdsdb pid=16913 userid=1 xid=5326 ]' LOG: SET statement_timeout TO 120000

데이터를 저장하려면 새 파일로 리디렉션하세요. 파일을 내부 편집하려면 먼저 편집이 올바르게 수행된 것으로 나타나는지 확인한 다음(명령은 각 줄에 이러한 타임스탬프가 1개 이상 또는 1개 이상 없다고 가정함) sed -i이를 사용할 수 있습니다. 파일을 변경하려면.

관련 정보