고정 너비 파일의 데이터 필드에서 개행 문자 제거

고정 너비 파일의 데이터 필드에서 개행 문자 제거

고정 너비 파일에는 15개의 필드가 있습니다. 필드 5에는 주소가 포함되어 있으며 문자 19에서 시작하여 문자 58(길이 40)에서 끝납니다. 때로는 주소에 \n문자(데이터의 개행 문자)가 포함되는 경우도 있습니다.

실제 줄 구분 기호에 영향을 주지 않고 어떻게 이중 공백으로 바꿀 수 있습니까?

파일의 업데이트된 데이터 세트가 제공됩니다. \n파일의 일부 줄에는 데이터에 문자가 있고 나머지 부분만 괜찮습니다. 즉, \n문자가 없습니다. 아래 예를 참조하여 처리 방법을 확인하세요.

입력 예:

01 DAVIDS 800 ABC VISAL NAGAR, ABC
BUILDING HYD TELANGANA 6000 DEVELOPER HR DEPT FULL TIME EMPLOYEE
03 ABCDEF 600 PQR NNNNN NAGAR, YYY  BUILDING NZB TELANGANA 5000 DEVELOPER SA DEPT PART TIME EMPLOYEE
02 KAMAL  900 XYZ KAMAN NAGAR, DEF
BUILDING SEC TELANGANA 8000 DEVELOPER MR DEPT FULL TIME EMPLOYEE
04 CCCCCC 200 KKK HHHHH NAGAR, JJJ  BUILDING KBR TELANGANA 1000 DEVELOPER AD DEPT FULL TIME EMPLOYEE

원하는 출력:

01 DAVIDS 800 ABC VISAL NAGAR, ABC  BUILDING HYD TELANGANA 6000 DEVELOPER HR DEPT FULL TIME EMPLOYEE
03 ABCDEF 600 PQR NNNNN NAGAR, YYY  BUILDING NZB TELANGANA 5000 DEVELOPER SA DEPT PART TIME EMPLOYEE
02 KAMAL  900 XYZ KAMAN NAGAR, DEF  BUILDING SEC TELANGANA 8000 DEVELOPER MR DEPT FULL TIME EMPLOYEE
04 CCCCCC 200 KKK HHHHH NAGAR, JJJ  BUILDING KBR TELANGANA 1000 DEVELOPER AD DEPT FULL TIME EMPLOYEE

답변1

$ sed 'N; s/\n/  /' file
01 DAVIDS 800 ABC VISAL NAGAR, ABC  BUILDING HYD TELANGANA 6000 DEVELOPER HR DEPT FULL TIME EMPLOYEE
02 KAMAL  900 XYZ KAMAN NAGAR, DEF  BUILDING SEC TELANGANA 8000 DEVELOPER MR DEPT FULL TIME EMPLOYEE

sed이는 필요한 수정을 수행 하는 데 사용됩니다 .

원본 파일의 각 줄에 대해 다음 줄을 읽고 줄 바꿈 문자를 구분 기호로 사용하여 현재 줄에 추가합니다. 이는 N의 명령을 통해 수행 됩니다 sed. 그런 다음 이 s///명령을 사용하여 구분 줄 바꿈 문자를 두 개의 공백 문자로 바꿉니다.

출력을 새 파일 이름으로 리디렉션하여 저장하세요.

sed 'N; s/\n/  /' file >newfile

관련 정보