Warum funktioniert dieses Shellprogramm nicht?

1 Antwort

Ja, das „$line | md5sum“ kann nicht funktionieren, denn md5sum wird nicht ausgeführt, sondern einfach nur als Zeichenkette angehangen.

Eine Möglichkeit wäre:

`echo $line | md5sum | head -c 32`

Genau auf die Anführungszeichen achten und nicht mit ' verwechseln. Diese sorgen dafür, dass der innenliegende Ausdruck als Befehl von der Shell ausgeführt und das Ergebnis als String angesehen wird. Wenn du die Ausgabe von md5sum anschaust, siehst du außerdem, dass hinter der Summe noch etwas folgt... das wird hier weggeschnitten.

Alternativ könntest du das Skript aber auch ganz anders angehen... wobei :

Sortieren (sort) und mit uniq die Häufigkeit gleicher aufeinanderfolgender Zeilen zählen. Wobei - wie ich das gerade sehe, wäre das erst mal die halbe Miete...


Thomasg  26.10.2021, 16:22

dann aber bitte echo -n verwenden

0