Dateinamen + MD5-Checksumme + Dateigröße zeilenweise ausgeben

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von xtian_82, 20.04.2008.

  1. #1 xtian_82, 20.04.2008
    xtian_82

    xtian_82 Jungspund

    Dabei seit:
    13.09.2006
    Beiträge:
    11
    Zustimmungen:
    0
    Hallo!

    Habe folgendes Problem:
    Ich möchte mittels find das PWD durchsuchen und zu jeder regulären Datei deren Pfad sowie deren Größe und deren MD5-Checksumme ausgeben. Was ich momentan habe ist für Pfad und MD5:
    Code:
    find . -type f -print0 | xargs -0 md5 | awk '{ print $2 " "$4}'
    und für Pfad und Größe:
    Code:
    find . -type f -print0 | xargs -0 ls -s
    Jetzt ist meine Frage, wie ich das am besten kombinieren kann.
    Ich will am Ende eine zeilenweise Ausgabe der Form "<Pfad> <MD5 Sum> <Größe>" haben.

    Vielen Dank!
     
  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. #2 Wolfgang, 20.04.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Pack es alles in eine while - read - Schleife und nutze die Optionen von find.

    BTW Welche Shell und welches OS?
    Daher: Spekulativ für die Bash:
    Code:
    find . -type f -printf "%s\t%p\n"
    |while read SIZE FILE;do 
    echo "$(dirname "$FILE") $(echo "$FILE"|md5sum) $SIZE Byte";
    done
    Wolfgang
     
  4. #3 Gott_in_schwarz, 20.04.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Vielleicht noch folgende Ersetzung, wenn man auf absolute Pfade steht. (Allerdings sehr bash spezifisch...)
    Statt
    Code:
    $(dirname "$FILE")
    einfach
    Code:
    ${FILE/#./$PWD}
     
  5. #4 Wolfgang, 20.04.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    In Fochkroisen auch poormans dirname genannt. :devil:
     
  6. #5 xtian_82, 20.04.2008
    Zuletzt bearbeitet: 20.04.2008
    xtian_82

    xtian_82 Jungspund

    Dabei seit:
    13.09.2006
    Beiträge:
    11
    Zustimmungen:
    0
    Danke Wolfgang, hat mir sehr geholfen!

    Sorry wegen der fehlenden Angaben: Ich verwende die BASH unter UNIX (Darwin). (Btw. "find" hat unter UNIX keine Option "-printf" und "md5sum" gibt es standardmäßig auch nicht.)
    Habe es jetzt folgendermaßen umgesetzt:
    Code:
    find . -type f | while read FILE; do echo "$FILE" $(md5 "$FILE" | awk '{print $4}') $(ls -s "$FILE" | awk '{print $1}'); done
    Außerdem habe ich mich wohl mißverständlich ausgedrückt: Ich will den kompletten Pfad inkl. Dateinamen ausgeben.
    Aber der obige Code macht jetzt genau, was ich will.
    Danke nochmal!

    EDIT:
    PS: Danke auch an Gott_in_schwarz! Habe ich zwar momentan nicht gebraucht ('tschuldigung nochmal für meine unklare Ausdrucksweise), aber auf jeden Fall mal wieder was dazugelernt.
     
Thema:

Dateinamen + MD5-Checksumme + Dateigröße zeilenweise ausgeben

Die Seite wird geladen...

Dateinamen + MD5-Checksumme + Dateigröße zeilenweise ausgeben - Ähnliche Themen

  1. [FRAGE] Dateinamen normalisieren während sie in einer "for" Schleife sind

    [FRAGE] Dateinamen normalisieren während sie in einer "for" Schleife sind: Moin Gemeinde, ich habe ein Skript welches Emails abholt und weiterverarbeitet, manche müssen ausgedruckt werden. Nun hat sich herausgestellt...
  2. Einfaches Shellscript - dateinamen ändern

    Einfaches Shellscript - dateinamen ändern: Hey, kann mir jemand vielleicht bei diesem miniscript helfen? ich habe dateien die folgendermaßen aussehen MM-DD-YY-dateiname und...
  3. Wie verschiedene Pattern in diversen Dateinamen finden und ersetzen?

    Wie verschiedene Pattern in diversen Dateinamen finden und ersetzen?: Hi Leute. Ich habe ein kleines Problem. Ich möchte mittels Bash nach bestimmten pattern in Dateinamen suchen und diese durch "nichts"...
  4. Wie finde ich Leerzeichen im dateinamen

    Wie finde ich Leerzeichen im dateinamen: Hallo, ich habe ein script mit einer Schleife über alle Dateien in einem Verzeichnis. #!/bin/sh for i in `ls *` do echo $i...
  5. Zahl innerhalb eines Dateinamens auslesen

    Zahl innerhalb eines Dateinamens auslesen: Hallo, ich habe eine große Anzahl an Dateien mit konstantem Dateinamen + einer Zahl, allerdings sind sie nicht fortlaufend nummeriert, also...