Datei auslesen mit while

  • Ersteller geist_der_foren
  • Erstellt am
G

geist_der_foren

Grünschnabel
Hi @all,

ich hab ein kleines Prob, ich möchte eine datei auslesen mit einer While schleife, aber das format ist nicht so wie ich ihn erwarte.
Das File mit dem Daten heist CMD_ALIAS in dem Folgendes Drin steht:
Code:
Cmnd_Alias RCMYSQL_RECHTE = /usr/sbin/rcmysql status, \
                            /usr/sbin/rcmysql start, \
                            /usr/sbin/rcmysql stop, \
                            /usr/sbin/rcmysql restart
Ich hab Test haber folgendes Versucht:
Code:
Datei_Cmd_Alias=CMD_ALIAS

while read LINE
 do
   echo "$LINE"
 done < $Datei_Cmd_Alias
Die Ausgabe der While Schleife siht aber dann folgendermasen aus, alles in einer Zeile:
Code:
Cmnd_Alias RCMYSQL_RECHTE = /usr/sbin/rcmysql status,                             /usr/sbin/rcmysql start,                             /usr/sbin/rcmysql stop,                             /usr/sbin/rcmysql restart
Und nicht so wie ich es erwartet habe und zwar so:
Code:
Cmnd_Alias RCMYSQL_RECHTE = /usr/sbin/rcmysql status, \
                            /usr/sbin/rcmysql start, \
                            /usr/sbin/rcmysql stop, \
                            /usr/sbin/rcmysql restart
Hat vielleicht jemand eine idee wie ich das lösen könnte ?
Danke schon mal im voraus.
 
du könntest in die while schleife nach dem echo "$line" noch ein newline einbauen. weiss jetzt nicht genau wie es mit echo geht. evtl einfach eine zeile mit echo "" oder so etwas.
 
@hinne

Danke für dein Post.
Also das habe ich auch schon versucht, aber nicht funktioniert.
Mit echo (bash) kann gibt ein option -e mit der man z.B. \n für newline machen könnte. Mir ist gerade aufgefallen, dass es alle in einer Zeile anzeigt wird, weil die "\" am Schluss einer jeden Zeile besagen, dass die naechste Zeile die Fortsetzung ist. Vielleicht kann ich das maskiren ?! Mal schauen, ich werde das noch mal austesten.
 
"\\"

du könntest mal probieren, am ende eine zweites "\" anzuführen

------------------------------
/usr/sbin/rcmysql status, \\
-------------------------------
Datei_Cmd_Alias=CMD_ALIAS

while read LINE
do
echo $LINE"\"
done < $Datei_Cmd_Alias

-------------------------------

kanns leider nicht ausprobieren aber es müsste funktionieren

mfg clone
 
Zuletzt bearbeitet:
Das Problem ist, dass der CR im File maskiert wird...
So kannst dus umgehen:

echo "$LINE" | sed 's/,/\\\n/g'
 

Ähnliche Themen

Grafische Anzeige der Temperatur

Summe von Zahlen in einer Zeilen bilden

Textdatei zeilenweise in durchnummerierte Variablen schreiben

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Zeile mit beliebigen Sonderzeichen ausgeben

Zurück
Oben