머리글이 각각 -XXXX-
및 꼬리말 $$$$
인 데이터가 반복되는 큰 텍스트 파일이 있습니다. 약 20k 개의 항목이 있으며 각 항목을 500 개의 항목으로 분리하고 싶습니다.구분 기호 n 번째 인스턴스에서 텍스트 파일을 여러 파일로 분할
저는 awk
으로 놀고 있었고, 아래 명령을 사용하여 닫았습니다. 각 파일은 -XXXX-
으로 시작하지만 첫 번째 파일 이후의 모든 파일에는 끝에 부분 항목이 있습니다. 예를 들어
awk "/-XXXX-/ { delim++ } { file = sprintf(\"file%s.sdf\", int(delim/500)); print > file; }" < big.sdf
: 내가 대신 각 파일에 바로 $$$$
후 종료 할
-XXXX-
Beginning
Middle
End
$$$$
-XXXX-
Beginning
.
Windows에서 awk
을 사용하고 있습니다.
'처음에는 부분적으로 입력이 된 다음 모든 파일'이라고 말하면 입력 데이터 파일이나 현재 출력중인 내용을 설명하고 있습니까? ? –
현재 출력 중입니다. 첫 번째 파일은 $$$$ 바로 아래에서 올바르게 절단됩니다. 후속 파일에는 -XXXX- 다음에 부분 항목이 포함됩니다. 참고 : Cygwin 셸에서 위의 코드를 실행하면 올바른 동작을 얻을 수 있지만 Windows의 명령 프롬프트에서 위와 같이 위의 명령을 실행하면 찾을 수 있습니다. – macaday
무슨 일이 일어나고 있는지 나는 힘들어 할 것입니다. 필자는 몇 년 만에 처음으로 모든 Windows 컴퓨터에 액세스 할 수 없으므로 문제를 매우 쉽게 복제 할 수는 없습니다. 당신이 말하는 것은 특이하게 들립니다. 파일이 개행 문자로 종료 되었습니까 (Windows의 경우 CRLF)? 그렇지 않다면, 당신이보고있는 것을 설명 할 수 있습니다. –