SED: Zu bearbeitende Dateien aus Textfile einlesen

Dieses Thema im Forum "Anwendungen" wurde erstellt von bernd.stromberg, 24.04.2013.

  1. #1 bernd.stromberg, 24.04.2013
    bernd.stromberg

    bernd.stromberg Grünschnabel

    Dabei seit:
    24.04.2013
    Beiträge:
    5
    Zustimmungen:
    0
    Tag zusammen,

    entweder ich suche nach den falschen Stichworten, oder ich mache was falsch. Mein Problem :

    Mit dem Befehl

    Code:
    grep -Rsl 'ZuSuchenderText' > Textfile.txt
    habe ich mir eine Datei mit zu behandelnden Files erstellen lassen. OK. Jetzt moechte ich, dass sed jede Zeile aus Textfile.txt einliest und diese dann behandelt.

    In man-Pages, Foren usw finde ich nur, dass -f SCRIPTFILE das Kommando unterbringt. Wie bringe ich ihn nun dazu, mehrere Zeilen auszulesen und auf diese Dateien anzuwenden ?

    Bsp. Inhalt Textfile.txt :

    /pfad/zur/ersten.datei
    /pfad/zur/zweiten.datei
    /pfad/zur/dritten.datei

    Nun soll das

    Code:
    sed s/suche/ersetze/ [Jede Zeile aus Textfile.txt]
    als Futter bekommen und suche durch ersetze austauschen, dies dann aber auf ersten.datei bis dritten.datei anwenden. Ohjee, ist das noch frueh heute Morgen. Wisst Ihr, was ich oben meine...?

    Gruss

    Rainer.
    (Alias Bernd :brav:)
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 HeadCrash, 24.04.2013
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Morgen,

    sed kennt die Option -i

    Code:
      -i[Suffix], --in-place[=Suffix]
                     ändert die Eingabedatei (Backup wird erzeugt, falls Suffix
                     angegeben wurde)
    
    Code:
    sed -i.bak 's/suche/ersetze/' `grep -Rsl 'ZuSuchenderText'`
    
    sollte eigentlich tun was du willst, ist jetzt aber nicht getestet, also mit vorsicht verwenden.

    mfg
    HeadCrash
     
  4. #3 bernd.stromberg, 24.04.2013
    bernd.stromberg

    bernd.stromberg Grünschnabel

    Dabei seit:
    24.04.2013
    Beiträge:
    5
    Zustimmungen:
    0
    Habe den Wald vor lauter Schleifen nicht mehr gesehen :

    Ein Script angelegt mit dem Inhalt

    PHP:
    #!/bin/bash
    for x in $(grep -Rsl "ZuSuchenderText" /pfad/zum/geschehen); do
        
    sed -i s/ZuSuchenderText/ZuErsetzenderText/g $x
    done
    @HeadCrash

    Deins probiere ich jetzt auch aus, Sekunde...

    FRAGE :
    Wie kann ich hier das als Geloest markieren ?

    Gruss

    Rainer.
     
  5. #4 bernd.stromberg, 24.04.2013
    bernd.stromberg

    bernd.stromberg Grünschnabel

    Dabei seit:
    24.04.2013
    Beiträge:
    5
    Zustimmungen:
    0
    @HeadCrash

    Vielen Dank fuer die schnelle Antwort. Mein Post darauf ist irgendwie untergegangen heute morgen.

    Ergebnis ist jedenfalls, dass ich den Wald vor lauter Schleifen nicht mehr gesehen hatte. Herausgekommen ist eine for-Schleife :

    PHP:
    #!/bin/bash
    for x in $(grep -Rsl "ZuSuchenderText" /pfad/zum/dateiverzeichnis/); do
        
    sed -i s/'ZuSuchenderText'//g $x
    done
    Gruss Rainer.
    (Alias Bernd)
     
  6. #5 bernd.stromberg, 24.04.2013
    bernd.stromberg

    bernd.stromberg Grünschnabel

    Dabei seit:
    24.04.2013
    Beiträge:
    5
    Zustimmungen:
    0
    Warum werden meine Antorten hier nicht veroeffentlicht...?!

    Heute ist jetzt schon die zweite verschluckt worden.
     
  7. #6 bernd.stromberg, 24.04.2013
    bernd.stromberg

    bernd.stromberg Grünschnabel

    Dabei seit:
    24.04.2013
    Beiträge:
    5
    Zustimmungen:
    0
    Also jetzt nochmal in Kurzform :

    Dieses Script sorgt fuer den gewuenschten Erfolg.

    PHP:
    #!/bin/bash
    for x in $(grep -Rsl "ZuSuchenderText" /pfad/zum/geschehen/); do
        
    sed -i s/'ZuSuchendenText'//g $x
    done
    Danke HeadCrash fuer die Muehe.
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

SED: Zu bearbeitende Dateien aus Textfile einlesen

Die Seite wird geladen...

SED: Zu bearbeitende Dateien aus Textfile einlesen - Ähnliche Themen

  1. User sollen Dateien speichern und ändern, aber nicht neu anlegen dürfen

    User sollen Dateien speichern und ändern, aber nicht neu anlegen dürfen: Hallo liebe Helfer, welche Einstellungen muss ich in der smb.conf bzw. unter Linux vornehmen, damit User vorhandene Dateien öffnen und speichern...
  2. Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen

    Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen: Hallo, ich habe ein Verzeichnis, darin enthalten sind mehrere Dateien. Nun möchte ich alle Dateien (Parameter $1) gegen eine konstante Datei...
  3. Dateien selektieren und zählen

    Dateien selektieren und zählen: Hallo, das ist mein erster Beitrag, bitte entschuldigt, falls nicht alles richtig geschrieben ist. Ich muss meine erste Hausaufgabe als...
  4. Benötige Hilfe- Dateien vergleichen

    Benötige Hilfe- Dateien vergleichen: Hallo, für eine Arbeit an der Uni muss ich einige viele Bilder miteinander vergleichen, was ich gerne durch eine Automatisierung etwas...
  5. Amarok streikt bei *.m4a Dateien

    Amarok streikt bei *.m4a Dateien: Hallo zusammen, vor Kurzem habe ich einen neuen Rechner zusammengebaut und mit OpenSuse 13.2 aufgesetzt. Nun musste ich aber feststellen, dass...