LOAD DATA INFILE을 통해 Mysql에로드하려는 파이프로 구분 된 데이터 파일이 있습니다. 같은sed를 사용하여 파이프로 구분 된 파일에서 인접한 일치 항목을 검색하고 바꾸기
뭔가 :
a|||d|e
x|y|z|0|1
...
나는 데이터가 NULL 값으로 인식되도록 \N
와 빈 필드를 대체합니다. 첫 번째 데이터 라인에, 두 번째 파이프가 먹 -
거의 작동하지만, 꽤
가 나오지 '/ g | | \\ N S/|| /'하고
두 번째 인접한 빈 필드가 파싱되지 않도록 sed에 의해 up!
제 생각에는 제 1 sed의 결과를 파이프하여 다른 동일한 검색을하고 두 번째 시간을 대체하여 인접한 빈 필드를 없애는 것입니다.
제 질문은 sed에서이 문제를 해결하는 좀 더 세련된 방법은 무엇입니까?
TIA. 당신이 나오지하여 데이터 파일을 처리하려는 경우
추가 참고
,이 같은 라인의 경우 말 조심하십시오 | I | J | K
시간 |
당신은 나오지도
에 파이프해야합니다의/| $/| \\ N/g '
그 끝 (end-of-line)의 경우를 처리 할 수.
DOS에서 UNIX 시스템으로 이동하는 경우 sed search-and-replace를 사용하여 데이터 파일에서 '\ r'을 지울 수도 있습니다.
LOAD DATA INFILE을 사용할 때 Mysql의 모든 경고를 설명하는 것이 좋습니다. 악의적 사례를 잡는 데 도움이됩니다.
좋아 보인다 - 타이 ... ... 더 나은 아무것도 함께 제공하지 않는 경우 해결책으로 받아 들일 것입니다! – kfmfe04