[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[bash] Einlesen einer Datei



Hallo Liste!

Ich habe hier mehrere Textdateien, in der diverse Informationen ent-
halten sind. Die Files haben folgendes Aufbau:

     Art des Accounts:		normal
     Benutzername (kurz):	thilo
     Benutzername (lang):	Thilo Engelbracht
     System-Kennwort:		geheim1
     E-Mail-Kennwort:		geheim2
     E-Mail-Quota (in Byte):	1000000


Nun habe ich mir ein kleines bash-Skript programmiert, dass diese
Dateien einliest und verarbeitet. Aufgerufen wird es mit
verarbeitung.sh datei_mit_den_informationen.

     #!/bin/bash
     #verarbeitung.sh
     if [ -f $1 -a -r $1 ]
     then
          quota=""
          exec < $1
          while [ -z "$quota" ]
          do
               read zeile
               account=`echo $zeile | cut -d : -f 2 | cut -d " " -f 2-`
               read zeile
               nkurz=`echo $zeile | cut -d : -f 2 | cut -d " " -f 2-`
               read zeile
               nlang=`echo $zeile | cut -d : -f 2 | cut -d " " -f 2-`
               read zeile
               userkw=`echo $zeile | cut -d : -f 2 | cut -d " " -f 2-`
               read zeile
               mailkw=`echo $zeile | cut -d : -f 2 | cut -d " " -f 2-`
               read zeile
               quota=`echo $zeile | cut -d : -f 2 | cut -d " " -f 2-`
               echo _"$account"_
               echo _"$nkurz"_
               echo _"$nlang"_
               echo _"$userkw"_
               echo _"$mailkw"_
               echo _"$quota"_
          done
     fi


Der Code ist vielleicht etwas umständlich - aber es funktioniert
problemlos. Nun möchte ich jedoch noch erreichen, dass ich in der Text-
datei auch Leerzeilen und Kommentare einfügen kann, beispielsweise so:

     # Moegleiche Werte: "normal" oder "email"
     Art des Accounts:		normal
     Benutzername (kurz):	thilo

     # Der vollstaendige Benutzername
     Benutzername (lang):	Thilo Engelbracht

     System-Kennwort:		geheim1
     E-Mail-Kennwort:		geheim2
     E-Mail-Quota (in Byte):	1000000


Leider weiß ich nicht, wie ich das realisieren soll... Könnt Ihr mir
helfen?

Vielen Dank für Eure Mühe!

Mit freundlichen Grüßen,

Thilo

--
Registered Linux user #348074 with the Linux counter
http://counter.li.org



Reply to: