2010-12-05 6 views
0

mysql db로 tsv 파일을 가져 오려고하지만 파일에 고유 한 구분 기호가 없으므로 문제가 발생합니다. 새 행의 시작 위치를 식별 할 수 없습니다. 고유 한 유일한 식별자는 날짜 다음에 공백이오고 그 다음에 시간이옵니다. 예 : 6/19/2010 16:04:43bash 스크립트에서 구문 분석하는 방법은 무엇입니까? date_value _space_ date_value

누군가 올바른 방향으로 나를 가리키게하거나 세미콜론을 넣는 bash 스크립트를 만들 수 있습니까 ";" 그 문자열 앞에. 따라서 최종 결과는 ;6/19/2010 16:04:43

입니다. 까다로운 부분은이 파일에 다른 날짜 필드와 다른 시간 필드가 있지만이 둘 사이에 공백이있는 유일한 문자열이라는 것입니다.

답변

1

cat file | sed 's#[0-9]\{1,2\}/[0-9]\{1,2\}/[0-9]\{4\} #;&#g' >resultfile. 사용하기 전에 테스트하십시오.

+0

이 스크립트는 문자열의 형식이 날짜 탭 시간 일 때를 제외하고 위의 경우 날짜 공간 시간에 맞습니다. 두 번째 시나리오를 제거 할 수있는 방법이 있습니까? – Igor

+0

@ user493071 업데이트를 참조하십시오. '공간 '을 넣으십시오. – khachik

+0

거의 완벽하지만 어떤 이유로 끈이 만져지지 않습니다. 예 : 6/5/2010 17:00:30 7/3/2010 16:53:50 왜 그런지 알고 싶습니까? – Igor

관련 문제