S
Strusi
Jungspund
Guten Morgen :-)
Bin derzeit noch ein Anfänger was das Skripten in der Bash angeht und wollte fragen ob ihr mir nicht ein bisschen Hilfestellung geben könntet / wolltet.
Hab zu meiner Thematik zwar vereinzelt ein par Dingen gefunden aber beim zusammensetzen hapert es doch arg
Szenario:
Möchte mich per ssh auf eine Liste von Servern einloggen um dort aus der /etc/resolv.conf die Daten auszulesen und diese in einer bestimmten Form (csv) in einer neuen Datei auf meinem Sprungserver zu speichern.
Beispiel-Datei (resolv.conf):
domain ***.***.de
nameserver ***.***.***.***
Beispiel-Datei (gewünschtes Ergebnis)
"Servername","domain","domain n","ip nameserver","ip nameserver n"
Problem:
Die Anzahl der Einträge ist unterschiedlich (mehrer Nameserver- und Domain-Einträge) was mir eine Ausgabe untereinander beschert hat anstelle von nebeneinander und
Die Felder sind nicht zwingend durch TABs getrennt sondern auch mal durch Leerzeichen.
Ich habe verschiedene Ansätze ausprobiert und werde diese auch mal so posten:
Bei der jetzigen Version kommt als Fehlermeldung:
Can't open domain
Can't open ***.***.de
Hat jemand ein par gute Ansätze für mich!? Wäre echt dankbar weil ich auch ein bisschen unter Druck arbeite grade
Greets
Strusi
Bin derzeit noch ein Anfänger was das Skripten in der Bash angeht und wollte fragen ob ihr mir nicht ein bisschen Hilfestellung geben könntet / wolltet.
Hab zu meiner Thematik zwar vereinzelt ein par Dingen gefunden aber beim zusammensetzen hapert es doch arg
Szenario:
Möchte mich per ssh auf eine Liste von Servern einloggen um dort aus der /etc/resolv.conf die Daten auszulesen und diese in einer bestimmten Form (csv) in einer neuen Datei auf meinem Sprungserver zu speichern.
Beispiel-Datei (resolv.conf):
domain ***.***.de
nameserver ***.***.***.***
Beispiel-Datei (gewünschtes Ergebnis)
"Servername","domain","domain n","ip nameserver","ip nameserver n"
Problem:
Die Anzahl der Einträge ist unterschiedlich (mehrer Nameserver- und Domain-Einträge) was mir eine Ausgabe untereinander beschert hat anstelle von nebeneinander und
Die Felder sind nicht zwingend durch TABs getrennt sondern auch mal durch Leerzeichen.
Ich habe verschiedene Ansätze ausprobiert und werde diese auch mal so posten:
Code:
for i in `grep " " /tmp/ag_hosts | cut -f2`; do
#string=""
#string_domain=`ssh $i "grep domain /etc/resolv.conf | cut -f2"`
#string_name=`ssh $i "grep nameserver /etc/resolv.conf | cut -f2"`
#string="$string_domain,$string_name"
string=`ssh $i "grep domain /etc/resolv.conf"`
string=`sed -n -e 's/domain//g' $string`
string=`sed -n -e 's/\n/,/g' $string`
echo $string
done
Bei der jetzigen Version kommt als Fehlermeldung:
Can't open domain
Can't open ***.***.de
Hat jemand ein par gute Ansätze für mich!? Wäre echt dankbar weil ich auch ein bisschen unter Druck arbeite grade
Greets
Strusi