아래와 같이 타임스탬프 형식이 포함된 파일이 있습니다.
'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
이를 사용할 수 있습니다. 파일을 변경하려면.