Comando em lote para excluir a primeira e a última colunas de um arquivo de texto

1

Eu tenho dados nas primeiras e últimas colunas de um arquivo de texto delimitado por tabulações. Quero que a primeira e a última colunas do arquivo sejam excluídas usando o lote. Eu tentei usando o comando cut , mas não é suportado pelo Windows.

    
por user275203 19.11.2013 / 08:34

1 resposta

1

  • Os dados de entrada estão em 4 colunas separadas por guias (a coluna 3 possui espaços incorporados).
  • Se os valores de dados não tiverem espaços, delims=<tab> será opcional.
  • O nome do arquivo de origem não tem espaços (mas o nome do arquivo de saída pode ser incluído: "Arquivo 2 Col Out.txt")

Execute o prompt de comando e insira (substituindo o pressionamento de tecla da guia real em vez de <tab> em dois locais):

CMD /f:off
FOR /f "tokens=2,3 delims=<tab>" %B in (TabFile.txt) do @echo %B<tab>%C>> 2ColFile.txt  
CMD /f:on

Exemplo:

c:\DeleteMe>type tabfile.txt
123     ABC     Ap ple   321
135     BDF     Bro wn   642
c:\DeleteMe>CMD /f:off
Microsoft Windows [Version 6.0.6002]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

c:\DeleteMe>FOR /f "tokens=2,3 delims=  " %B in (TabFile.txt) do @echo %B       %C>> 2ColFile.txt    
c:\DeleteMe>type 2colfile.txt
ABC     Ap ple
BDF     Bro wn
c:\DeleteMe>CMD /f:on
    
por 19.11.2013 / 12:38

Tags