diff in Bezug zu sed setzen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von NoRatu, 16.06.2015.

  1. NoRatu

    NoRatu Grünschnabel

    Dabei seit:
    16.06.2015
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo liebe Community,

    ich sitze seit gestern an einem Problem bei dem ihr mir hoffentlich helfen könnt.
    Meine Aufgabe ist es zwei Verzeichnisse nach Dateien und weiteren Unterverzeichnissen zu durchsuchen, diese mit Hilfe von sed zu ändern und dann mit diff zu vergleichen. Das mit dem Durchsuchen und ändern klappt auch soweit, nur weiß ich nicht wie ich diff auf diese Änderungen beziehen kann. Bisher werden nur die unveränderten Dateien verglichen.

    Bisheriger Code:

    Dass das Semikolon vor dem diff ein Grund dafür ist weiß ich. Allerdings komme ich nach vielem rumprobieren auf keine passende Lösung.

    Gruß

    PS.: Ich habe gestern erst richtig mit Shell-Programmierung angefangen, daher verzeiht mir bitte etwaige Anfänger Fehler oder mögliche falsche Wortwahl in Bezug auf das Thema. :)
     
  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. NoRatu

    NoRatu Grünschnabel

    Dabei seit:
    16.06.2015
    Beiträge:
    2
    Zustimmungen:
    0
    Okay, dann versuche ich es nochmal.

    Ich habe zwei, ich nenne sie mal Hauptordner, in denen sich weitere Unterordner befinden, die aber in beiden Hauptordnern gleich benannt sind. In jedem dieser Ordner befinden sich Textdateien. Nun möchte ich diese Textdateien mit Hilfe des find Befehls heraussuchen und daraufhin eine Zeile Text, die bei jeder Datei unterschiedlich ist, aber gleich anfängt, mit Hilfe von sed vorübergehend "entfernen". Dies mache ich um den Text in den Dateien mit Hilfe von diff vergleichen zu können, unabhängig von dieser einen Zeile. Die Dateinamen der Dateien die sich in dem Hauptordner 1 und 2 befinden sind gleich. Nur der Inhalt ist anders.
    Ausgegeben werden sollen mir dann die Namen der Dateien, bei denen sich der Text unterscheidet.

    Mein Problem ist jetzt, dass mir die "veränderten" Dateien mit sed zwar ausgegeben werden so wie ich sie möchte, aber ich diff nicht auf eben diese beziehen kann, sondern nur auf die Ausgangsdateien.

    Hoffe das ist bisschen verständlicher. Auch wenn ich, glaube ich, selbst Probleme hätte das zu verstehen. :think:
     
  4. #3 Gast123, 16.06.2015
    Gast123

    Gast123 Guest

    Hä?

    Wenn du sed -i benutzt, dann wird die Änderung doch permanent in die Datei geschrieben. Ohne die Backup-Option ist das Original dann futsch.
    Ich verstehe immer noch nicht dein Ziel. Willst du aus allen Dateien das erste Vorkommen von $Revision.*$ entfernen und dann ein rekursives Diff-File der Ordnerstruktur erstellen?
    Weil genau das sollte die von dir genannte Zeile machen. Allerdings würde ich hier nicht die Ausgabe von find durch eine Pipe und durch xargs leiten, sondern -exec verwenden.
    Falls du paarweise Diffs und ein Backup haben möchtest, kannst du das mit
    Code:
    find . -name "*.dateiendung" -exec sed -i'.bak' 's/$Revision.*$//' {} \; -exec bash -c 'diff -rq ../anderer_ordner/$(basename "{}") "{}" > $(basename "{}").diff' \;
    
    machen.

    MfG

    Schard
     
Thema:

diff in Bezug zu sed setzen

Die Seite wird geladen...

diff in Bezug zu sed setzen - Ähnliche Themen

  1. Bash - Zwei Binärdateien vergleichen (SQL Diff)

    Bash - Zwei Binärdateien vergleichen (SQL Diff): Moin, versuche zwei SQL Dumps miteinander zu vergleichen, dazu hole ich Stammdaten aus der MSSQL-DB und speichere sie direkt unter der Bash in...
  2. Wie ermittle ich die Differenz zwischen 2 Zahlen unter AIX (Syntax ähnl. wie LINUX) ?

    Wie ermittle ich die Differenz zwischen 2 Zahlen unter AIX (Syntax ähnl. wie LINUX) ?: Wie ermittle ich die Differenz zwischen 2 Zahlen unter AIX (Syntax ähnl. wie LINUX) ? Und wenn die Differenz nicht "0" ist, dann folgt Aktion ...
  3. Modulo C++ implementation (Diffie-Hellman-Schlüsselaustausch)

    Modulo C++ implementation (Diffie-Hellman-Schlüsselaustausch): Hi! Also ich hoffe einmal (ich gehe fast davon aus :D ), dass einige Leute hier im Forum den Diffie-Hellman-Schlüsselaustausch kennen. Unser...
  4. Patch erstellen mit patch oder diff

    Patch erstellen mit patch oder diff: Hallo zusammen Versuche gerade die Sache mit den Patches wirklich zu verstehen, denn ich habe nicht viel Erfahrung damit. Habe folgende...
  5. "diff" für zwei ähnliche Verzeichnishierarchien

    "diff" für zwei ähnliche Verzeichnishierarchien: Hallo allerseits, Ich schau mich gerade nach einer Möglichkeit um zwischen zwei beliebigen Verzeichnissen das zu machen, was eigentlich SVN für...