Einlesen von Dezimalzahlen aus einer Textdatei in ein 1D-Array

Einlesen von Dezimalzahlen aus einer Textdatei in ein 1D-Array

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, zshund yash. python(der von Ihnen angegebene Code sieht aus wie pythonCode) ist nicht das, was wir im Allgemeinen eine Shell nennen.

Davon sind die einzigen Shells, die Gleitkommaarithmetik unterstützen ksh93, zshund 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.

verwandte Informationen