2012-05-11 3 views
1

문제가 있습니다. 지금, 가정 된 파일은 탭으로 구분 된 몇 가지 "줄 바꿈"... 내 파일이 바로 같이 보입니다 누락 될 수 있습니다 지금열을 줄로 나누기

Field1 Field2 Field3 
Field1 Field2 Field3 Field1 Field2 Field3 Field1 Field2 Field3 
Field1 Field2 Field3 Field1 Field2 Field3 
Field1 Field2 Field3 
Field1 Field2 Field3 Field1 Field2 Field3 
Field1 Field2 Field3 

나는 각 "필드 1로,이 유니폼을 보이게하려면 "새 라인 문제가

Field1 Field2 Field3 
Field1 Field2 Field3 
Field1 Field2 Field3 
Field1 Field2 Field3 
Field1 Field2 Field3 

에서 시작,이 열은 각각 고유 데이터 세트를 가지고, 그래서 나는 새로운 라인으로 분할하는 익숙한 장소를 찾을 수 없습니다. 어떤 도움이라도 대단히 감사합니다!

추신 : SED 또는 TR에이 일을 크게 PS를 감상 할 수있다 : 최대 150 열, 단지 6 또는 9 이것은 당신이 준 예에서 작동 3

+3

분할 할 곳을 찾을 수없는 경우 어떻게하면 지능형 분할 유틸리티가 가능하다고 생각합니까? – geekosaur

+0

음, 3 번째 탭마다 새 줄로 나눌 수있는 방법이 있었으면합니다. – Raymosrunerx

+0

줄 5에는 'Field3'과 'Field1' 사이에 구분 기호가 없습니다. – geekosaur

답변

2

이 당신을 위해 작동 될 수 있습니다

sed 's/\s/\n/3;P;D' file 

설명 :

  • 번째 공백 문자 (스페이스 나 탭) 제 개행 개까지 문자열 제 개행 개까지 문자열

    D를 삭제 P
  • 를 인쇄 s/\s/\n/3

  • 개행 문자로 대체

    D 명령에 분리 된 특성이 있습니다. 개행 문자가 없으면 문자열을 삭제하고 다음 행을 읽습니다. 그러나 개행 문자가 있으면 개행 문자를 삭제하고 개행 문자가 없을 때까지 같은 문자열에서 순환을 시작합니다.

+0

그 명령이 어떻게 작동하는지 설명해 주시면 최선의 답변을 드리겠습니다. (작동했습니다.) – Raymosrunerx

+0

설명보기 – potong

1

의 다른 여러있을 수 있습니다 ...

sed -e 's/\([^\t ]* [^\t ]* [^\t ]*\)[\t ]/\1\n/g'