sux Geschrieben 16. März 2004 Teilen Geschrieben 16. März 2004 Hallo Leutz, kennt ihr einen Befehl, in einer Datei Text zu erkennen und die ganze Zeile, in der dieser vorkommt zu löschen? Zur Information: Es geht um den CD-Server. Läuft alles prima soweit. Ein Script bewirkt, dass die CD eingelesen wird, ein Verzeichnis erstellt wird, die CD in dieses Verzeichnis gemountet wird und die Einträge in die fstab und in die smb.conf gemacht werden. Nun ist mir passiert, dass die falsche oder keine CD drin war und die ganzen Einträge möchte ich nicht unbedingt handisch wieder rückgängig machen müssen. Also muß ich ein Befehl wissen, der Text aus der smb.conf oder der fstab erkennt und die ganze Zeile (bis zum Umbruch) löscht. Wär ja echt genial, wenns sowas gäb. Gruß sux Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 16. März 2004 Teilen Geschrieben 16. März 2004 Hallo, Das geht problemlos mit sed. mit "sed '$d'" kannst Du beispielsweise die letzte Zeile löschen, mit "sed '5,6d'" die Zeilen 5-6. Das einfachste ist, Du suchst nach dem zu löschenden Pattern und entfernst die Zeile. Nic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sux Geschrieben 16. März 2004 Autor Teilen Geschrieben 16. März 2004 ich würd das ja gern in ein Script einbauen, damit ich gleich auch automatisch das Image unmounten und dann löschen kann. Danach muß ich dann (wohl mit grep) das Textmuster suchen und die ganze Zeile löschen. Mir fehlt jedoch jeglicher Ansatz im Moment. sux :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 16. März 2004 Teilen Geschrieben 16. März 2004 Hallo, sed erkennt sowohl das Pattern (also den Text) und ist auch in der Lage die betreffende Zeile zu löschen. Poste doch mal die Datei um die es geht. Nic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Terran Marine Geschrieben 16. März 2004 Teilen Geschrieben 16. März 2004 Original geschrieben von nic_power Hallo, sed erkennt sowohl das Pattern (also den Text) und ist auch in der Lage die betreffende Zeile zu löschen. Poste doch mal die Datei um die es geht. Nic Hallo, mit grep geht das auch : grep -iv Pattern Datei >Neue_Datei Allerdings nicht innerhalb der selben Datei, d.h. du musst eine neue Datei anlegen lassen, und damit ggf. die alte überschreiben. Gruß Terran Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sux Geschrieben 16. März 2004 Autor Teilen Geschrieben 16. März 2004 Hier ein kleiner Auszug aus der fstab: LABEL=/ / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 LABEL=/img /images ext3 defaults 1 2 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hda2 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,r o 0 0 /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0 # Kataloge /images/buderus_cad.iso /im_verw/.buderus/buderus_cad iso9660 auto,loop,ro,user 0 0 /images/buderus_kataloge.iso /im_verw/.buderus/buderus_kataloge iso9660 auto,loop,ro,user 0 0 Die letzte Zeile will ich dann suchen und löschen lassen: /images/buderus_kataloge.iso /im_verw/.buderus/buderus_kataloge iso9660 auto,loop,ro,user 0 0 In dem Skript würde ich dann mit grep $1 nach dem Schlüsselwort suchen, also buderus_kataloge und diese Zeile löschen (in der fstab ist ja visuell ein Zeilenumbruch gemacht worden, ich hoffe, es ist kein richtiger). Das gleiche gilt für die smb.conf, wobei hier fünf Zeilen gelöscht werden müssten: [Hilti] path = /cd/Hilti writeable = yes browseable = yes guest ok = yes Gut, ne? Gruß sux Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Terran Marine Geschrieben 16. März 2004 Teilen Geschrieben 16. März 2004 Original geschrieben von sux Das gleiche gilt für die smb.conf, wobei hier fünf Zeilen gelöscht werden müssten: [Hilti] path = /cd/Hilti writeable = yes browseable = yes guest ok = yes Das hat dann aber nichtsmehr mit "Zeilenweise löschen" zutun und wird sich mit grep, afaik nicht realisieren lassen. Gruß Terran Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 17. März 2004 Teilen Geschrieben 17. März 2004 ....stimmt ich denke sed und awk bringen dich hier weiter... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.