While-Schleife, wie man aus der zweiten Zeile der Textdatei liest

8

Ich habe in den letzten zwei Stunden alles versucht, um das zu erreichen, aber meine Erfahrung in Shell und Programmierung ist begrenzt.

Ich habe eine Schleife

%Vor%

Nun liest die Operation inst-Anweisung aus einer Textdatei mit 5 Feldern, die Sie sehen können, und verwendet sie dann, um unter Linux mit bash

Konten zu erstellen

useradd $var1 -p var2 -g var3 und so weiter

Ich möchte, dass das Skript nur aus der zweiten Zeile liest, ich kann es nicht funktionieren. etwas wie while ifs =, lese (aus der zweiten Zeile) var 1 var 2 var3 usw.

Der Grund dafür ist, dass die Datei eine exportierte Datenbank von Excel zu CSV ist, so dass die erste Zeile Titel wie Vorname dob immatrikuliert usw. usw. enthalten würde und nicht benötigt wird

Ihre Hilfe wird geschätzt

Zusatz:

Bevor die Benutzer erstellt werden, habe ich eine if-Anweisung hinzugefügt. Wenn Benutzer eine Bedingung erfüllen, werden sie erstellt.

%Vor%

Die Ausgabe des Echos ist etwas wie

%Vor%

auch wenn ich sed 1d | während IFS = etc usw. scheint es, dass es immer noch die erste Zeile liest, deshalb bekomme ich die erste Ausgabe wie "vollständiger Name ist nicht vollständig registriert"

    
LatinUnit 30.11.2011, 22:28
quelle

2 Antworten

12

Verwenden Sie sed, um die erste Zeile aus der Eingabe zu löschen, die an die while-Schleife übergeben wurde

%Vor%     
elias 30.11.2011, 22:40
quelle
0

Eine Lösung mit awk :

%Vor%     
nyuszika7h 09.06.2014 17:57
quelle

Tags und Links