Suchen und Ersetzen in Dateien.

B

benoit

Hallo zusammen,

ich hab ein Script mit dem ich in allen Dateien eines Ordners die IP Adresse 192.168.11.3 durch einen DNS Eintrag ersetze.

Code:
#!/bin/bash

for file in $(ls -1);
do

sed 's/192\.168\.11\.3/DNS/g' $file > /tmp/temp.txt;
mv /tmp/temp.txt $file;

done

klappt soweit auch super, das einzige Problem ist das danach die Berechtigungen der Datei nicht mehr gleich sind.

heißt alle Berechtigungen wurden auf den User gesetzt der das Script ausgeführt hat.

wie kann ich dafür sorgen das die Dateien ihre Berechtigungen behalten?

Gruß
Phillip
 
wie kann ich dafür sorgen das die Dateien ihre Berechtigungen behalten?

Entweder chown am Ende des Skripts oder die Einträge direkt in der Datei ändern ohne Umweg über temp.txt.

Code:
#!/bin/bash

for file in $(ls -1);
do

sed -i 's/192\.168\.11\.3/DNS/g' $file;

done
 

Ähnliche Themen

Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

skript zum löschen doppelter dateien

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Schleife zum einlesen vieler Dateien funktioniert nicht

[Suche] - Hilfe bei der Überarbeitung eines bash-Scripts

Zurück
Oben