Pfandangaben ändern

Diskutiere Pfandangaben ändern im Linux OS Forum im Bereich Linux/Unix Allgemein; Hallo, ich bin einem Projekt auf einen neuen Server umgezogen und möchte nun die Pfadangaben in allen Dateien per SSH Zugang ändern. First:...

  1. qix100

    qix100 Grünschnabel

    Dabei seit:
    11.08.2009
    Beiträge:
    4
    Zustimmungen:
    0
    Hallo,

    ich bin einem Projekt auf einen neuen Server umgezogen und möchte nun die Pfadangaben in allen Dateien per SSH Zugang ändern.

    First: grep -r -l '/alter/Pfad' 'cgi-bin'

    Dann zeigt er mir eine Liste mit allen Dateien wo /alter/Pfad enthalten ist.
    Nun möchte ich das in allen Dateien (auch Unterverzeichnisse) ändern.

    Dazu wollte ich folgende Anweisung nutzen: perl -p -i -e 's|/alter/Pfad|/neuer/Pfad|g'

    Er startet zwar, aber ich habe schon ganz lange gewartet und nichts passiert,
    habe auch per FTP geschaut und gesehen das die Dateien nicht geändert wurde.

    Kann mir jemand helfen wo der Fehler liegt?

    Vielen Dank,
    Frank
     
  2. Anzeige

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Aqualung, 11.08.2009
    Zuletzt bearbeitet: 12.08.2009
    Aqualung

    Aqualung Routinier

    Dabei seit:
    12.02.2008
    Beiträge:
    404
    Zustimmungen:
    0
    "/" und sonstige Sonderzeichen (" " etc.") musst Du quoten "\".

    So wie Du das Kommando geschrieben hast, wartet perl auf eine Eingabe (welche Datei soll bearbeitet werden) ad infinitum.

    Alle Dateien in allen Unterverzeichnissen ab akt. Verzeichnis (ACHTUNG: VORHER Kopie anlegen) kannst Du mit

    Code:
    find . -type f -exec perl -p -i -e "s/\/alter\/Pfad/\/neuer\/Pfad/g" \;
    bearbeiten.
     
  4. #3 qix100, 13.08.2009
    Zuletzt bearbeitet: 13.08.2009
    qix100

    qix100 Grünschnabel

    Dabei seit:
    11.08.2009
    Beiträge:
    4
    Zustimmungen:
    0
    Hallo Auqalung,

    vielen Dank für deine Hilfe, aber leider bekomme ich bei dieser Eingabe folgende Fehlermeldung: find: missing argument to `-exec'
    Hier meine Eingabe:
    Gruß,
    Frank
     
  5. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.245
    Zustimmungen:
    19
    Du solltest evtl. auch noch den Dateinamen als Argument übergeben... - also nach der RegEx und vor dem \; noch ein "{}"...

    sed kann das übrigens auch problemlos - und solange Du nicht auf die etwas mächtigeren Funktionen von Perl angewiesen bist würde ich das verwenden - läuft ein bisserl schneller, da weniger Overhead...
     
  6. #5 saeckereier, 13.08.2009
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Dürfte sogar ziemlich starke Auswirkungen haben. Für jede zu ändernde Datei einen Perl-Interpreter starten.. Wow.. Das kann dann recht schnell etwas länger dauern..

    Probier mal sed dafür aus, aber bevor du das auf alle Dateien loslässt, *teste das genau*
     
  7. qix100

    qix100 Grünschnabel

    Dabei seit:
    11.08.2009
    Beiträge:
    4
    Zustimmungen:
    0
    Hallo,

    hmmm ... ich bin doch ein Grünschnabel :think:

    Wie muss denn der sed Befehl aussehen?
    Also ich möchte nur in ca. 100 Dateien liegend in einigen Unterverzeichnissen die Pfadangaben ändern.
    Wenn das mit dem sed command schneller geht gerne ;)

    Danke und Gruß,
    Frank
     
  8. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.245
    Zustimmungen:
    19
    z.B. über
    Code:
    sed -i "s/foor/bar/g" *.html
     
  9. qix100

    qix100 Grünschnabel

    Dabei seit:
    11.08.2009
    Beiträge:
    4
    Zustimmungen:
    0
    Hallo marce,

    vielen Dank für den string ... nur was mache ich wenn ich einen längeren Pfad gleichzeitig ändern möchte ?

    Zum Beispiel: /foor1/foor2/foor3/ ändern in /bar1/bar2/bar3/

    Danke,
    Frank
     
  10. Gast1

    Gast1 Guest

    Wurde Dir doch schon gesagt:

     
  11. #10 computerophil, 04.10.2009
    computerophil

    computerophil Jungspund

    Dabei seit:
    09.06.2009
    Beiträge:
    13
    Zustimmungen:
    0
    Die Diskussion ist zwar glaub ich schon vorbei aber ich wollte Dir sagen dass Deine Überschrift werbewirksam war:
    Pfandangaben ändern.
    Du solltest weniger an Flaschen denken ;-)
     
Thema:

Pfandangaben ändern

Die Seite wird geladen...

Pfandangaben ändern - Ähnliche Themen

  1. .txt Tabellen mit Shell ändern

    .txt Tabellen mit Shell ändern: Hallo, ich möchte mit meiner Shell (Xubuntu, xfce4-terminal 0.6.3) tabellen mit .txt Format ändert. Aktuell haben sie die Form: Daten x;y 1;2...
  2. Variable mit 'tr' ändern

    Variable mit 'tr' ändern: Guten Morgen, ich versuche gerade mit 'tr' die Variablen eines Shell-Skriptes abzuändern. Angenommen ich habe das hier: for i in...
  3. Puppy linux helligkeit ändern.

    Puppy linux helligkeit ändern.: Wie ändere ich bei Puppy linux meine helligkeit ?
  4. Home Verzeichnis ändern

    Home Verzeichnis ändern: Hallo Wollte nicht, dass mein Sohn (16) in die veschränkte WIN Welt hinein wächst und habe für Ihn Linux Mint auf seinem LAPTOP installiert. Er...
  5. Mozilla-Studie: Web schafft Chancen in Entwicklungsländern

    Mozilla-Studie: Web schafft Chancen in Entwicklungsländern: Mozilla hat gemeinsam mit der GSMA eine Studie erstellt, die die Möglichkeiten des Webs in Entwicklungsländern aufzeigt. Eine wachsende Zahl von...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden