텍스트 파일을 구문 분석하려고하는데 비어있는 경우 열을 건너 뛰는 것과는 별도로 작동합니다. 당신이 볼 수 있듯이, 탭 문자로 구분 14 개의 항목이 있습니다DOS 배치 파일이 FOR DELIM을 건너 뜁니다.
206695844 66583369 L CAT 1 1 4144042 214857 64378180 L 4144039 214853 Y
206669467 127810625 R CAT 38 1 4136724 213413 724749204 R 4136727 213420 Y
206445106 65588013 L CAT 4 1 4139084 210381 64363708 L 4139082 210372 Y
^
empty column
: 다음은 파일 형식입니다.
내 구문 분석 라인은 다음과 같습니다
FOR /F "tokens=1,2,5,7,8,9" %%i in (datafile.txt) DO (
echo %%i %%j %%k %%l %%m %%n >> outputDatafile.txt
)
문제가 (예를 들어 빈) 9 열을 건너 뛰는과 같이 대신 10을 사용하고 있습니다 : 내가을 원하는
206695844 66583369 1 4144042 214857 64378180
그 9 번째 열 - 비어있는 경우에도! 용에 대한 도움말은 말한다 때문에
또한, 구분 기호로 명시 탭 문자를 사용하여 시도했다 :
delims = xxx는
는 - 분리 문자 집합을 지정합니다.
FOR /F "tokens=1,2,5,7,8,9* delims= " %%i in (datafile.txt) DO (
^tab
내가 잘못 뭐하는 거지 :이 공간과 탭 세트의 기본 구분 기호를 대체?
편집
젭은있어 - 감사합니다!
내 파일에 결과를 뱉어, 난 그냥 사용
echo (!col1!%tab%!col2!%tab%!col3!%tab%!col4!%tab%!col5!%tab%!col6!) >> outputFile.txt
정말 MS-DOS를 사용하고 있습니까? FOR/F는 "배치 언어" –
아의 현대 Windows 구현에서만 지원됩니다. 음, 아마도 좋은 지적 일 수 있습니다. 이것은 Win 7의 cmd 쉘에서 실행 중입니다. 그것은 새로운 맛입니다. 나는 그 꼬리표를 제거해야합니까? – DefenestrationDay
태그를 제거하고 Windows-7 태그를 추가했습니다. –