Hi Brauchen Sie ein Shell-Skript, um die CSV-Datei zu analysieren - Zeile für Zeile und dann Feld für Feld]
Die Datei wird so aussehen
%Vor%Ich muss jedes dieser X1, X2 ....
extrahierenIch habe ein Skript geschrieben, aber es schlägt fehl, wenn die Zeile eine Zeile überschreitet ..
So würde ich es machen.
Zuerst setze ich die IFS-Umgebungsvariable so, dass read
sagt, dass "," das Feldtrennzeichen ist.
Da die Datei "input" die von Ihnen angegebenen Daten enthält, kann ich den folgenden Code verwenden:
%Vor% Um kurz zu wiederholen, was oben passiert. cat test |
liest die Datei und leitet sie an while
. while
führt den Code zwischen do
und done
aus, während read
den Wert true zurückgibt. read
liest eine Zeile aus der Standardeingabe und trennt sie in Variablen ("a", "b", "c" und "d") entsprechend dem Wert von $ IFS. Schließlich zeigt echo
nur die Variablen an, die wir gelesen haben.
Was mir die folgende Ausgabe gibt
%Vor%Übrigens, das BASH-Handbuch liest sich immer gut. Du wirst jedes Mal etwas Neues lernen, wenn du es liest.
Da eykanal AWk und sed
erwähnt hat, dachte ich, ich würde zeigen, wie man sie benutzen kann.
oder
%Vor%Dann könnte ein Shell-Skript ihre Ausgabe verarbeiten:
%Vor%Natürlich können Sie die Verarbeitung im AWK-Skript durchführen:
%Vor%