Archiv verlassen und diese Seite im Standarddesign anzeigen : [BASH] Zeilen Löschen (SED spackt)
berlinermauer
06-01-2009, 20:51
Hi Leute,
ich habe mir ein Batch Script gemacht, dass in /etc/DATEINAME
ein paar Namen speichert, diese werden ausgelesen und die homeverzeichnisse gelöscht usw..
so nun :
sed -e "/$_user/d" /etc/teamspeaks_installed # Eintrag aus den INSTALLED TEAMSPEAKS entfernen
da bekomme ich keinen Fehler wenn ich aber mit cat /etc/teamspeaks_installed nachprüfe, ist der eintrag immer noch da.
Achja $_user ist die Zeile, die gelöscht werden soll
marcolino
06-01-2009, 23:29
Servus berliner,
Wenn du mit sed arbeitest, wird die Originaldatei nicht geändert, d.h. du musst sie nach dem bearbeiten überschreiben oder woanders hin leiten. Ich habe auch ein bischen mit sed rumgespielt und bei mir hat es so funktioniert (mit überschreiben):
sed '/$_user/d' /etc/teamspeaks_installed >/etc/teamspeaks_installed
Gruß
berlinermauer
06-01-2009, 23:34
tausend dank!!!
ich hatte gegoogled und nichts wirklich gutes gefunden und mir dann sowas zusammen geschustert :)
danke, nun gehts.
BLUESCREEN3D
07-01-2009, 11:26
Der Aufruf von marcolino löscht den gesamten Dateiinhalt.
Benutz den Parameter -i:
sed -e "/^$_user$/d" -i /etc/teamspeaks_installed
^ und $ sorgen dafür, dass die ganze Zeile passen muss. Ansonsten würde bei der Löschung des Benutzers "foo" auch "foobar" gelöscht werden.
Moin,
...bei mir hat es so funktioniert (mit überschreiben):
sed '/$_user/d' /etc/teamspeaks_installed >/etc/teamspeaks_installedGruß
Wie bluescreen3d schon schrieb: Das ist reiner Zufall, dass es bei Dir mal geklappt hat. Das Ergebnis hängt von der Dateigröße, den I/O-Puffern der beteiligten Programme, dem Cache und der Auslastung Deines Systems und vielen anderen Faktoren ab, auf die Du überhaupt keinen Einfluss hast. Wenn das Programm wie sed die Möglichkeit des "in place"-Editierens bietet, nimm dessen Optionen, sonst arbeite mit temp. Dateien. Beispiel hier: http://www.jan-trippler.de/de/script_tipps/files.html
Jan
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.