2013-11-20 1 views
0

다음 문자열이 1 백만 개 이상있는 문서가 있습니다. 일부 구조를 추출하고 일부분을 추출하여 csv 파일을 만들고 싶습니다. 가장 빠른 방법은 무엇입니까?Bash는 문자열에서 부분을 추출하고 CSV를 만듭니다.

document/0006-291X(85)91157-X 

나는 당신이 한 줄 awk 시도 할 수 있습니다

document/0006-291X(85)91157-X;0006-291X;85 
+0

정확하게 추출 하시겠습니까? 그리고 지금까지 무엇을 시도 했습니까? – pfnuesel

답변

6

각각 원래의 문자열을 추출 부품 라인에있는 파일을 가지고 싶다 :

awk -F "[/()]" -v OFS=';' '{print $0,$(NF-2),$(NF-1)}' your-file 

그것은 구문 분석을 각 줄의 필드는 구분자로 /,(,)을 사용합니다. 그런 다음 전체 줄, 세 번째 필드 및 줄 끝에서 시작하는 두 번째 필드를 인쇄합니다. -v OFS=';' 옵션은 출력 C 럼 분리 문자로 세미 C 럼을 인쇄합니다.

+1

+1 'FS'의 +1 아주 똑똑한 사용 – Kent

+0

Bentoy13은 내가 생각하지도 않았고 완벽하게 작동하는 매우 멋진 것들입니다. – Thomas

관련 문제