Unterdrücken Sie den Dateinamen aus der Ausgabe von sha512sum


11

Vielleicht ist es eine triviale Frage, aber auf der manSeite habe ich nichts Nützliches gefunden. Ich benutze Ubuntu und bash.

Die normale Ausgabe für sha512sum testfileist

<hash_code>  testfile

Wie kann ich die Dateinamenausgabe unterdrücken? Ich möchte nur erhalten

<hash_code>

2
Sie benötigen Hilfe von anderen Tools, wiesha512sum testfile | awk '{print $1}'
Cuonglm

Antworten:


15

Es gibt keine Möglichkeit, dies zu unterdrücken, aber da die SHA immer ein einzelnes Wort ohne Leerzeichen ist, können Sie Folgendes tun:

sha512sum testfile | cut -d " " -f 1 

oder zB

< testfile sha512sum | sed 's/  -//'


1

Vielleicht ~/.profilewürde es als dauerhafte Lösung helfen, einfach einen Alias ​​in Ihre Art hinzuzufügen, wie Anthon das erste Argument abschneidet.

sha()
{
sha512sum -- "$1" | cut -d " " -f 1
}

Um es zum Laufen zu bringen, müssten wir es natürlich einmal ausführen, . .profilein ~.

Jetzt sha <file_name>würde nur das Putten so ergeben, wie Sie es wünschen.


1
Sie müssen zitieren $1, andernfalls geben Sie Sicherheitslücken in Ihrer Funktion an. Unix.stackexchange.com/q/171346/38906
cuonglm

-1

Ich war auch frustriert über das sha ?? sum stdout-Format, das ich verwendet habe;

sha512sum | tr " " "\n" | head -n 1
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.