Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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

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:

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

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

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.