Produz um intervalo de colunas de um arquivo, onde o intervalo é definido por duas variáveis

0

Eu quero produzir um intervalo de colunas de um arquivo, onde o intervalo é definido por duas variáveis.

Realmente lutando com isso. Eu imagino que cortar é a melhor ferramenta, mas até onde sei, não aceita variáveis para designar o intervalo.

É um arquivo delimitado por tabulações. Eu tentei:

Column=8401    

awk -F $'\t' -v c=$Column '{ for (x=1; x<=c; x++) {  printf "%s\n", $x } }' ~/file.txt > ~/file1.txt

Mas isso não funciona (o objetivo é selecionar o intervalo de coluna de 1 a 8401).

Para dar um exemplo de entrada e saída:

ColumnStart=1    
ColumnEnd=3

Entrada:

12   33   55   23   13   88

Usando a variável $column , eu geraria $ColumnStart para $ColumnEnd

Saída:

12   33   55
    
por Giles 22.12.2016 / 18:47

1 resposta

3

Use as variáveis como esta:

cut -f${ColumnStart}-${ColumnEnd}

(assumindo que as variáveis sempre contenham valores apropriados ...).

    
por 22.12.2016 / 18:49