Ich möchte eine Datei brechen, die mehrere Linien hat, die diesen Stil folgen:Anfänger Bash Scripting
e-mail;year/month/date;groups;sharedFolder
Ein Beispiel Zeile aus der Datei:
[email protected];1912/06/23;visitor;/visitorData
Grunde möchte ich jede Zeile bis brechen in vier Arrays, auf die später in einer Schleife zugegriffen werden kann, um für jede Zeile einen neuen Benutzer zu erstellen.
Ich habe erklärt, die Arrays haben bereits eine Datei gespeichert als Variable ‚Dateiname‘
Benutzernamen müssen die ersten drei Buchstaben des Nachnamens und die ersten drei Buchstaben des Vornamens sein.
Passwörter müssen das Geburtsdatum des Benutzers als Tag/Monat/Jahr sein.
Bis jetzt ist das, was ich habe. Bin ich auf dem richtigen Weg? Gibt es Orte, wo ich falsch gelaufen bin oder mich verbessern konnte?
#reads file and saves into appropriate arrays
while read -r line
do
IFS = $';' read -r -a array <<< "$line"
mailArray += "$(array[0])"
dateArray += "$(array[1])"
groupArray += "$(array[2])"
folderArray += "$(array[3])"
done < $filename
#create usernames from emails
for i in "$(mailArray[@])"
do
IFS=$'.' read -r -a array <<< "$i"
part1 = ${array[0]:0:3}
part2 = ${array[1]:0:3}
user = $part2
user .= $part1
userArray += ("$user")
done
#create passwords from birthdates
for i in "$(dateArray[@])"
do
IFS=$'/' read -r -a array <<< "$i"
password = $part3
password .= $part2
password .= $part1
passArray += ("$password")
done
Gibt es einen Grund für die Verwendung von Arrays und Speichern von Dateien in Dateien? warum nicht einfach eine Zeile so verarbeiten, wie sie gelesen wird? – xvan
Ich denke, diese Frage könnte besser werden, und mehr, Antworten in [Code Review Stack Exchange] (http://codereview.stackexchange.com/). –