
Entonces tengo este archivo de texto llamado sortedtime.txt que contiene decimales ordenados y números enteros listados línea por línea:
12.6
13.7
...
154
1864
Necesito un script de shell que lea estos números y los agregue en una matriz 1D línea por línea. El código que tengo para esto está a continuación:
with open('sortedtime.txt') as data:
timearray = data.readlines()
Lamentablemente sigo recibiendo un error al intentar ejecutar el código. Necesito poder tener estos números como elementos en una matriz para luego trazar un CDF de los datos.
Respuesta1
Suponiendo que te refieres a unmatriz de concha, tenga en cuenta que no todos los shells admiten matrices. Si nos limitamos a shells tipo Bourne, los que admiten matrices (en orden cronológico) son ksh
, bash
y . (el código que proporcionaste parece código) no es lo que generalmente llamamos shell.zsh
yash
python
python
De ellos, los únicos shells que admiten aritmética de punto flotante ksh93
son zsh
y yash
.
En los 3, y asumiendo que la entrada contiene solo aquellos números de punto flotante separados por nueva línea, espacio o tabulación, puedes hacer:
array=($(cat file))
Sin embargo, la sintaxis para acceder a los elementos de la matriz es diferente en los 3. Ver "Prueba de soporte de matriz por shell"para conocer las diferencias en el soporte de matrices en varios shells.