• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] Datei vergleich

Crach

Newbie
Hallo

Ich bin noob..wenns um shellscripte geht..

kann mir einer weiter helfen.. wie man den inhalt einer datei..mit dem gerade ausgegebenen vergleichen kann?..

zb:

in der datei steht sowas drin:

-rwx------ ghd34 ghd34ner 4 1f7d8e0ken626576c4c45566245f3af2a7 recht

(rechte gruppe user größe md5summe name)

man soll dann ein script ausführen..was den ganzen ordner nach dateien durchsucht.. und von denen die daten ausgibt... diese daten sollen dann mit der...in der datei verglichen werden

Crach
 

WernerS

Newbie
Hallo!

Wenn es Dir nur darum geht, einzelne Dateien zu vergleichen, so ist die Lösung von Wolfgang natürlich ausreichend.

Falls Du aber, wie ich es verstanden habe, ganze Verzeichnisse überprüfen willst, so ist eine andere Methode sinnvoller.

Leider schreibst Du nicht, wie Du zu der Datei mit den MD5-Prüfsummen kommst.

Ich habe hier einen Vorschlag mit einer allerdings etwas einfacheren Datei:

Im erstem Verzeichnis:

Code:
  ( find . - exec md5sum {}  \; ) > MD5SUM
Eventuell muss beim Aufruf von md5sum noch die Option "-b" fuer Binaer-Dateien angegeben werden.

Die angelegte Datei MD5SUM hat hier (pro Zeile) folgendes Format:
(1) md5-Prüfsumme (2) Dateiname (mit Pfad)

Also z.B.:
Code:
  71e92939e435a49c8e5fcc3635da7cfe  ./_vorlagen_/datei1.c
  db108c5ff099de0dc9cfdae8efd80dae  ./_vorlagen_/datei2.c
  6e79ae28aabc7d6892827caedae190f5  ./_vorlagen_/datei1.h
  27b87cb3418b94740b9b3652dd96fc39  ./_vorlagen_/datei2.h
  usw.


Im zweiten Verzeichnis mit gleicher Struktur (oder auch im ersten nach "fragwürdigen Operationen" wird nun folgender Aufruf durchgeführt): :wink:

Code:
  md5sum -c MD5SUM  | grep -v ' Ok$'

Dieser zweite md5sum-Aufruf vergleicht die Prüfsummen aller Dateien, die im File MD5SUM abgelegt sind, mit den aktuell ermittelten. Durch den Grep-Befehl werden alle md5sum-Ausgabe-Zeilen, welche mit Ok enden (wo die Dateien also übereinstimmen), nicht angezeigt. Eventuell musst Du diesen String noch nach den tatsächlichen Ausgaben Deines md5sum-Programmes anpassen.

Diese Lösung hat noch den Vorteil, dass sie auch Unterverzeichnisse erfasst.

Vielleicht hilft Dir das weiter?!

Solltest Du von einer Vergleichsdatei im von Dir beschriebenen Format ausgehen wollen, so wird's ein bisserl komplizierter! :twisted:

Werner
 
Oben