Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 16. Nov 2018 15:10

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: find md5sum xargs sort
BeitragVerfasst: 11. Aug 2007 18:41 
Offline

Registriert: 03. Mär 2006 23:16
Beiträge: 430
Ich möchte eine übersichtliche MD5-Liste.
Die Essenz meiner bisherigen Versuche:
---------------------------------------
Code:
find -type f -exec md5sum {} \;
löst die Aufgabe komplett, aber "unsortiert". Dateien eines Verzeichnisses werden zwischen Unterverzeichnissen "eingestreut".
Ein 'sort' auf die erstellte Summenliste funktioniert nicht richtig, da sort einige Sonderzeichen wie "." oder "~" nicht beachtet.

Code:
find -type d -exec find {} -maxdepth -type f \;
gibt mir eine sortierte, übersichtliche Namen-Liste,
aber dann noch ein '-exec md5sum {}' einzufügen ist nicht valid:
Code:
find -type d -exec find {} -maxdepth -type f -exec md5sum {} \; \;
Und '-exec' führt keine Funktionen aus(?):
Code:
FUNC() {
find ?? -maxdepth -type f -exec md5sum {} \;
}
find -type d -exec FUNC {} \;

find: FUNC: No such file or directory

Eine potenzielle formal kurze Lösung funkioniert nicht
Code:
find -type d -exec md5sum {}/* \;

md5sum: ./DIR/*: No such file or directory
obwohl der direkte Aufruf in der Shell durchgeht:
Code:
md5sum DIR/*
Hierbei jedoch wie in der xargs-Lösung:
Code:
find -type f -print0 | xargs -0 md5sum (häufiger Tip)
wird die Grenze von md5sum berührt, das je nach Namen/Pfadlänge schon bei einigen hundert bis einigen tausend übergebenen Argumenten aussteigt.
---------------------------------------


Da ich so nicht weiterkomme

Wie kann ich md5sum hier anbringen? (ohne xargs?)
Code:
find -type d -exec find {} -maxdepth -type f \;
Oder muss ich eine Datei der Namen anlegen und diese mit for und sed (wegen der Sonder/Leerzeichen) an md5sum übergeben?

Oder wie bringe ich sort dazu, ALLE Zeichen zu beachten?
(für eine Nachbehandlung einer erstellten MD5-Liste)

Oder brauche ich md5deep?

_________________
mfg komsomolze


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12. Aug 2007 11:19 
Offline
Pro-Linux
Benutzeravatar

Registriert: 15. Aug 1999 16:59
Beiträge: 3237
Wohnort: Bruchsal
Hi!

Je nachdem, was du erreichen willst, brauchst du dich vielleicht gar nicht mit eigenen Skripten herumzuplagen, sondern kannst aide, LIDS oder das hier verwenden.

Grüße,
hjb

_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?


Nach oben
   
 Betreff des Beitrags: prüfsumme
BeitragVerfasst: 12. Aug 2007 12:24 
Hallo, ich glabe lsat mach auch ein Prüfsummenabbild..


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12. Aug 2007 22:31 
Offline

Registriert: 03. Mär 2006 23:16
Beiträge: 430
Hallo,

LSAT,LIDS oder aide wäre overpowerd.
Ich dachte eher an eine Liste, die sich auch als Inhaltsverzeichnis (für Spiele oder CDs) zum manuellen Durchsuchen eignet.
Für ein Programm ist die Sortierung einer MD5-Datei ja völlig gleichgültig.

@hjb
"das hier" entspricht ja dem 'find -type f > Liste.txt'-Beispiel, denke ich.

'md5deep -r' wollte ich außen vor lassen, weil es kein Paket von debian gibt, aber funktional entspricht es meinen Wünschen.
Ist jetzt also doch nach /usr/local installiert.

Danke für die Vorschläge
und noch einen schönen Sonntag (die letzte halbe Stunde :-) )




--------- EDIT -----------------
md5deep ist aber ein wenig "seltsam" in der Anwendung:
Das Erstellen einer MD5-Liste ist kein Thema, aber beim Prüfen ist umzudenken gegenüber 'md5sum -c':
  • Es werden die Hashes von Dateien berechnet und überprüft, ob der Hash in der MD5-Liste auftaucht oder nicht.
    Dadurch geben umbenannte Dateien keinen Fehler aus, wenn nur ihr Hash in der Liste auftaucht.

    Da md5deep beim Prüfen ja nicht von der MD5-Liste ausgeht, kann es sich für längere Zeit verabschieden falls im Verzeichnis einige große Repos liegen, obwohl in der MD5-Liste nur ein paar Dateien mit wenigen kB stehen.
Da nehme ich für das Prüfen dann doch lieber 'md5sum -c'. :?

_________________
mfg komsomolze


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de