从文本文件中使用Windows批处理选择一列

4
我有一个文本文件,其中包含以下数据。
162       y    1   0     518       home47              1     
163       y    1   0     520       home41              1     
164       y    1   0     522       home43              1     
165       y    1   0     524       home45              1     
166       y    1   0     526       home46              1     
169       y    1   0     531       home50              1     
170       y    1   0     533       home52              1     
171       y    1   0     535       home54              1     
172       y    1   0     537       home56              1     
173       y    1   0     539       home58              1 

我想要从下面的表格(home47到home58)中复制第6列的数据,使用Windows批处理文件将其保存到另一个文本文件中。请问我该怎么做?
我尝试了下面的命令,但它并不能为我所用,这个命令是在其他问题中提到的。
CMD /f:off
FOR /f "tokens=6 delims=  " %B in (TabFile.txt) do @echo %B  >> 2ColFile.txt  
CMD /f:on

你是在批处理文件还是命令提示符中尝试过这个? - npocmaka
1个回答

1
@echo off
break>2ColFile.txt
for /f "tokens=6 delims=     " %%c in (TabFile.txt) do (
    echo %%c
)>>2ColFile.txt

编辑 请注意,分隔符为delims=<tab><space>,并且可能会被stackoverflow格式化程序更改。


1
如果原始文件是TAB分隔的,则“delims =”后面的字符应该是一个TAB字符。在此论坛中,TAB会被转换为空格。 - foxidrive
@foxidrive - 是的。而且制表符不应该是最后一个定界符(在这种情况下,它是空格-<tab><space>),因为制表符作为最后一个定界符可能会引起问题(我想dbenham在某个地方解释过这个问题)。 - npocmaka
1
默认的分隔符是空格和制表符,因此您可以删除 delims= 以使其在不编辑的情况下工作。 - foxidrive

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接