Leitura de decimais no arquivo de texto em uma matriz 1D [closed]

0

Portanto, eu tenho esse arquivo de texto chamado sortedtime.txt contendo decimais e números inteiros listados linha por linha:

  12.6
  13.7
  ...
  154
  1864

Eu preciso de um script de shell que leia esses números e os adicione em um array 1D linha por linha. O código que tenho para isso está abaixo:

 with open('sortedtime.txt') as data:
      timearray = data.readlines()

Infelizmente, recebo um erro ao tentar executar o código. Eu preciso ser capaz de ter esses números como elemeents em uma matriz para posteriormente traçar um cdf dos dados.

    
por user192314 03.10.2016 / 17:14

1 resposta

2

Supondo que você quer dizer um array shell , note que nem todos os shells suportam matrizes. Se limitarmos a Bourne como shells, os que suportam matrizes (em ordem cronológica) são ksh , bash , zsh e yash . python (o código que você deu parece com python code) não é o que geralmente chamamos de shell.

Desses, os únicos shells que suportam aritmética de ponto flutuante são ksh93 , zsh e yash .

Em todos os 3, e assumindo que a entrada contém apenas os números de ponto flutuante separados por nova linha, espaço ou tabulação, você pode fazer:

array=($(cat file))

A sintaxe para acessar os elementos da matriz é diferente em todos os três. Consulte " Teste para suporte de matriz por shell " para diferenças no suporte à matriz em vários shells.

    
por 03.10.2016 / 18:32