gnu parallel Zeichen lesen und Wert berechnen

Diskutiere gnu parallel Zeichen lesen und Wert berechnen im Anwendungen Forum im Bereich Linux/Unix Allgemein; Hallo, ich würde gerne "GNU parallel" dazu nutzen, aus einer Liste von Zeichen, die sich in einer Datei befinden, einen MD5 Hash zu berechnen....

  1. #1 bit-teufel, 12.01.2018
    bit-teufel

    bit-teufel Eroberer

    Dabei seit:
    05.06.2008
    Beiträge:
    65
    Zustimmungen:
    0
    Hallo,

    ich würde gerne "GNU parallel" dazu nutzen, aus einer Liste von Zeichen,
    die sich in einer Datei befinden, einen MD5 Hash zu berechnen.
    Ohne gnu parallel gelingt das auch mittels:

    " for i in $(cat zeichen.lst | tr -d '\r'); do echo -ne "$i" | openssl md5; done "

    bei gnu parallel übertrage ich den zu lesenden File allerdings direkt mittel "--pipepart -a"

    " parallel --sshloginfile /root/parallel_nodes.txt --pipepart -a /root/zeichen.txt --block 100K "openssl md5" "

    deshalb gelingt es mir nicht, aus den sich in der Datei befindlichen Zeichen, einen md5 Wert zu berechnen.
    Kann mir jemand weiterhelfen ?

    Danke und Gruß
    B.-D.
     
  2. #2 hellfire, 12.01.2018
    hellfire

    hellfire Doppel-As

    Dabei seit:
    25.05.2016
    Beiträge:
    108
    Zustimmungen:
    12
    Was möchtest Du mit der Aktion erreichen? Bitte detailierte Beschreibung.
     
  3. #3 bit-teufel, 12.01.2018
    bit-teufel

    bit-teufel Eroberer

    Dabei seit:
    05.06.2008
    Beiträge:
    65
    Zustimmungen:
    0
    Hallo,

    in der Datei stehen ganz viele Zeichenketten.
    So wie folgt beschrieben:

    Test
    Hallo
    Gute Morgen
    123
    °!"§$%&/
    etc.
    usw.


    Die Datei hat eine Größe von 80 GB und
    8 Milliarden Zeieln mit den Zeichen.

    Jetzt möchte ich die Zeichen Zeilenweise einlesen und aus den Zeichenkette der einzelene Zeile einen MD5 Hash generieren
    und diesen ausgeben. Die Zeichenkette "Test" hat Beispiesweise den Hash 0cbc6611f5540bd0809a388dc95a615b .
    Mit GNU parallel lese ich die Datei ein (--pipepart -a /root/zeichen.txt) und sende sie zur
    bearbeitung an die Clients, die dann jeweis einen Happen der Datei zur bearbeitung bekommen.

    Danke und Gruß
    B.-D.
     
  4. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.208
    Zustimmungen:
    16
    ein grober Blick auf die Doku lässt mich vermuten, daß Du mit der von Dir verwendeten Variante des Datenübertragens auf den Empfängerseite keine sauberen Zeilen mehr bekommst sondern da vermutlich vorher selbst dafür sorgen musst, daß der Input-Stream in seine Zeilenanteile getrennt wird
    (abgesehen davon, daß "100k-Blöcke" eh vermutlich nicht sauber an der von Dir gewünschten Stelle "zeilenkonform" trennen würden)

    ... sprich Du müsstest vermutlich den "openssel md5" erweitern um "$irgendwas_zum_zeilenerzeugen | opensslmd5"
     
  5. #5 bit-teufel, 18.01.2018
    bit-teufel

    bit-teufel Eroberer

    Dabei seit:
    05.06.2008
    Beiträge:
    65
    Zustimmungen:
    0
    Hallo,

    hier meine Lösung.
    GNU parallel liest die Datei ein und sendet sie stückchenweise an die Nodes, nach stdout.
    Diese nehmen die stdout Zeichen und berechnen einen MD5 Hash.
    Sobald der gescuchte MD5 Hash (0cc175b9c0f1b6a831c399e269772661 steht für a ) aus der Klartext Zeichenliste gefunden wurde,
    wird diese ausgegeben.

    time parallel --progress --joblog /tmp/joblog.txt --jobs 100% --sshloginfile /parallel_nodes.txt --pipepart -a /zeichen.txt --block 100M "awk '{test1=\"echo \" \$1\"\n\" ; test2=\"echo -n \" \$1 \" | sed 's/\\\r//g' | openssl md5\" ;system(test1 test2)}' | awk '{printf(\"%s%s\", \$0, (NR%2 ? \",\" : \"\n\"))}' | tr -d '\r' | awk '/0cc175b9c0f1b6a831c399e269772661/{ print \"\n\n\" \$0 \"\n\" }' "

    Gruß
    B.-D.
     
Thema:

gnu parallel Zeichen lesen und Wert berechnen

Die Seite wird geladen...

gnu parallel Zeichen lesen und Wert berechnen - Ähnliche Themen

  1. Parallela 16 Kerne

    Parallela 16 Kerne: Hallo, findet ihr den kleinen Computer zu teuer? Der soll etwa 130 Dollar kosten. Ich glaube es sind doch 18 Kerne :-) Ich fand damals Apple...
  2. Debian VM Klonen und parallel betreiben? Systemanpassungen

    Debian VM Klonen und parallel betreiben? Systemanpassungen: Hallo, ich habe vor eine Debian Maschine als Prototyp aufzusetzen... (als vSphere VM).... Diese Maschine will ich dann x-mal klonen und in div....
  3. Git 2.8 unterstützt paralleles Laden von Submodulen

    Git 2.8 unterstützt paralleles Laden von Submodulen: Mit der Freigabe von Git 2.8.0 haben die Entwickler das Quellcode-Verwaltungssystem um diverse neue Funktionen ergänzt. Die wohl prominenteste...
  4. Parallels veröffentlicht Quellcode der Virtuozzo-Werkzeuge

    Parallels veröffentlicht Quellcode der Virtuozzo-Werkzeuge: Parallels, Hersteller der Container-Lösungen OpenVZ und Virtuozzo, hat einen weiteren Schritt in seinem im Dezember 2014 angekündigten Plan zur...
  5. Parallels integriert Docker

    Parallels integriert Docker: Parallels wird Docker-Container in die nächste Ausgabe seines Cloud Server integrieren. Erst vor wenigen Tagen hatte Canonical mit Ubuntu Core ein...
  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