1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Datei-Inhalte ersetzen

Discussion in 'Linux-Distributionen' started by greif24, Nov 3, 2002.

Thread Status:
Not open for further replies.
  1. greif24

    greif24 ROM

    Hallo,
    ich möchte in einem Verzeichnis, incl. Unterverzeichnisse, mit einem Script den Inhalt der Dateien ändern.
    Z.B. in allen Dateien das Wort "Test" durch "Test1" ersetzen.
    Wie kann ich dies machen?
    MfG, Rene
     
  2. cirad

    cirad Kbyte

    ----doch unwichtig---

    <- leicht verwirrt
    [Diese Nachricht wurde von cirad am 06.11.2002 | 17:29 geändert.]

    Ich sollte nicht so viele Sachen auf einmal machen. <:

    Im Bild fehlen zweimal die Entwertung vom & beim ä und ü. Das muß genauso wie hinten beim ß und ö.
    [Diese Nachricht wurde von cirad am 06.11.2002 | 17:37 geändert.]
     
  3. cirad

    cirad Kbyte

    Ja witzig ...

    Kann man hier Bilder einfügen, wäre am einfachsten. (: Naja, eben über Link:

    http://people.freenet.de/cirad/1beispiel.png
     
  4. cirad

    cirad Kbyte

    s/�/\&auml/g; s/�/\&uuml/g\'; s/�/\&ouml/g; s/�/\&szlig "$a" > "$a.tmp$PPID" && mv "$a.tmp$PPID" "$a"; done

    ÄÖÜ habe ich jetzt nicht noch eingetragen, mußt du selber tippen. Sicherlich kann man das aber irgendwie mit den äöü zusammenfassen. Dazu reichen meine sed-Kenntnisse aber nicht ohne weiteres aus. Mal sehen, eigentlich müßte ich mir das mal angucken. Dann poste ich vielleicht eine vereinfachte Variante, sofern möglich.

    suchst?
     
  5. cirad

    cirad Kbyte

    s/Test/Test1/g\' "$a" > "$a.tmp$PPID" && mv -f "$a.tmp$PPID" "$a"; done

    Ich übernehme natürlich keine Garantie auf Richtigkeit.

    Erklärung:
    1) find -type f --- findet alle Dateien im aktuellen Verzeichnis und darunter
    2) Die Liste von find wird durch eine Pipe (|) an while weitergereicht und dort Zeilenweise von read in die Variable a eingelesen.
    3) sed ändert Test in Test1 und gibt das aus. Die Ausgabe wird in die Datei $a.tmp$PPID umgeleitet (temporäre Datei). $PPID ist die aktuelle ProzessID und wird nur zum Zwecke der Eindeutigkeit benutzt. Heißt die Datei blub ($a = blub), so heißt die Temporäre Datei beispielsweise blub.tmp24500 (wenn die PID der Shell 24500 ist). Solltest du Dateien haben, die bereits so heißen (also tmp<zahl>), dann würde ich einen anderen Temp-Namen wählen!.
    4) Zum Schluß werden die temporären Dateien wieder nach $a umbenannt.

    PS: Wie gesagt benutzt du das auf eigene Gefahr.
    [Diese Nachricht wurde von cirad am 06.11.2002 | 17:10 geändert.]
     
  6. frrei

    frrei Kbyte

    ß\' < /publikum/sedtest/$file > /publikum/sedtest/$file"l"
    done

    for file in *.htm
    do
    rm /home/publikum/sedtest/$file
    mv /home/publikum/sedtest/$file"l" /home/publikum/sedtest/$file
    done
    ###################


    echo "!!!Der Ordner wurde abgearbeitet!!!"

    [Diese Nachricht wurde von frrei am 03.11.2002 | 17:54 geändert.]
    [Diese Nachricht wurde von frrei am 03.11.2002 | 18:13 geändert.]
     
  7. wickey

    wickey Megabyte

    s/\.Mp3/\.mp3/g\'`;
    done

    Bei oben gezeigtem Beispiel werden alle Dateien im Verzeichnis mit der Endung .Mp3 in .mp3 umbenannt.

    Du müsstest jetzt beides irgendwie kombinieren???

    Bin da leider auch kein Profi. Solltest Du eine Lösung gefunden haben, poste sie bitte.

    grüße wickey
     
  8. Schugy

    Schugy Viertel Gigabyte

    Ich weiss nur, das Tool dazu heisst sed.
    Das ist so ein Texteditor, der Inhalte automatisch finden und ersetzen kann.
    Vielleicht findest du ein sed howto.
    Ich kann damit nicht um, bin auch kein Entwickler, der den braucht.
     
Thread Status:
Not open for further replies.

Share This Page