
Ich habe also diese Textdatei mit dem Namen sortedtime.txt, die sortierte Dezimalzahlen und Ganzzahlen zeilenweise enthält:
12.6
13.7
...
154
1864
Ich brauche ein Shell-Skript, das diese Zahlen liest und sie zeilenweise in ein 1D-Array einfügt. Der Code, den ich dafür habe, ist unten:
with open('sortedtime.txt') as data:
timearray = data.readlines()
Leider erhalte ich immer einen Fehler, wenn ich versuche, den Code auszuführen. Ich muss diese Zahlen als Elemente in einem Array haben können, um später eine CDF der Daten zu zeichnen.
Antwort1
Angenommen, Sie meinen eineShell-Array, beachten Sie, dass nicht alle Shells Arrays unterstützen. Wenn wir uns auf Bourne-ähnliche Shells beschränken, unterstützen (in chronologischer Reihenfolge) ksh
, bash
, zsh
und yash
. python
(der von Ihnen angegebene Code sieht aus wie python
Code) ist nicht das, was wir im Allgemeinen eine Shell nennen.
Davon sind die einzigen Shells, die Gleitkommaarithmetik unterstützen ksh93
, zsh
und yash
.
In allen drei Fällen und vorausgesetzt, dass die Eingabe nur die durch Zeilenumbruch, Leerzeichen oder Tabulatoren getrennten Gleitkommazahlen enthält, können Sie Folgendes tun:
array=($(cat file))
Die Syntax für den Zugriff auf Array-Elemente ist jedoch in allen 3 unterschiedlich. Siehe "Testen der Array-Unterstützung durch die Shell" für Unterschiede in der Array-Unterstützung in verschiedenen Shells.