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

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

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

'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

데이터를 저장하려면 새 파일로 리디렉션하세요. 파일에서 내부 편집을 수행하려면 먼저 편집이 올바르게 수행되었는지 확인하십시오(명령은 각 줄에 이러한 타임스탬프가 정확히 하나 이상도 없고 이하도 없다고 가정합니다). sed -i파일을 제자리에서 변경하는 데 사용할 수도 있습니다 .

관련 정보