ich habe mir ein kleines Script geschrieben, mit dem ich Zeilen einer Datei auslese bearbeite und wieder einfüge. Leider kenn ich mich zu wenig aus um das mit mehr als einer Zeile zum laufen zu bekommen.
Kann mir jemand helfen?
Hier das Skript:
Code: Alles auswählen
#!/bin/sh
#####################################################
remote=`cat /var/ipcop/xtaccess/config | sed -n -e '1p'` # Hier wird die zu bearbeitende Zeile ausgewählt.
#####################################################
remotedns=`echo "$remote" | awk 'BEGIN{FS=","} {print $6}'`
remoteport=`echo "$remote" | awk 'BEGIN{FS=","} {print $3}'`
remoteip=`echo "$remote" | awk 'BEGIN{FS=","} {print $2}'`
dynip=`host $remotedns | awk '{ print $4}'`
configdns=`echo "tcp,$dynip,$remoteport,on,0.0.0.0,$remotedns"`
#####################################################
echo ""
echo ""
echo "### config $remotedns on Port $remoteport ###"
ping -c 3 $remotedns
if [ $? != 0 ]
then
echo "### $remotedns is offline ###"
else
echo "### $remotedns is online ###"
if [ "$dynip" = "$remoteip" ]
then
echo "### no changes required ###"
else
echo "$configdns" > /var/ipcop/xtaccess/config # Hier soll das Ganze in die gleiche Zeile geschrieben werden, aus der vorher gelesen wurde.
echo "### new remoteip for $remotedns is $dynip ###"
fi
fi
Die Datei die Bearbeitet werden soll ( /var/ipcop/xtaccess/config )
sieht etwa so aus:
Code: Alles auswählen
tcp,0.0.0.0/0,40000,on,0.0.0.0,server.dyndns.org
tcp,0.0.0.0/0,40001,on,0.0.0.0,server.dyndns.org
Währe echt toll, wenn mir jemand dabei helfen könnte.
Gruß Oli