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>
BowPark
quelle
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/  -//'
Anthon
quelle
1
sha512sum testfile | awk '{print $1}'
Kurian
quelle
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.

Keyshov Borate
quelle
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
user254289
quelle