Я пытаюсь разобрать текстовый файл, и он работает отдельно от пропуска столбца, если он пуст.
Вот формат файла:
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
Как видите, существует 14 столбцов, каждый из которых разделен символом табуляции.
Моя строка анализа:
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-й столбец - даже если он пуст!
Я также пытался использовать явный символ табуляции в качестве разделителя, потому что справка для FOR говорит:
delims = ххх
- определяет набор разделителей. Это заменяет набор пробелов по умолчанию и вкладку :
FOR /F "tokens=1,2,5,7,8,9* delims= " %%i in (datafile.txt) DO (
^tab
Что я делаю не так?
EDIT
Джеб понял - спасибо!
, чтобы выложить результат в мой файл, я просто использую:
echo (!col1!%tab%!col2!%tab%!col3!%tab%!col4!%tab%!col5!%tab%!col6!) >> outputFile.txt