Menekan nama file dari output sha512sum


11

Mungkin itu adalah pertanyaan sepele, tetapi di manhalaman saya tidak menemukan sesuatu yang berguna. Saya menggunakan Ubuntu dan bash.

Output normal sha512sum testfileadalah

<hash_code>  testfile

Bagaimana cara menekan output nama file? Saya ingin mendapatkan yang adil

<hash_code>

2
Anda memerlukan bantuan dari alat lain, sepertisha512sum testfile | awk '{print $1}'
cuonglm

Jawaban:


17

Tidak ada cara untuk menekan itu, tetapi karena SHA selalu satu kata tanpa spasi yang dapat Anda lakukan:

sha512sum testfile | cut -d " " -f 1 

atau mis

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


1

Mungkin hanya menambahkan alias dalam ~/.profilecara Anda memotong argumen pertama Anthon akan membantu sebagai solusi permanen,

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

Untuk membuatnya bekerja, kita jelas perlu menjalankannya sekali, . .profilemasuk ~.

Menempatkan hanya sha <file_name>akan menghasilkan seperti yang Anda inginkan.


1
Anda perlu mengutip $1, jika tidak, Anda memberikan lubang keamanan di fungsi Anda unix.stackexchange.com/q/171346/38906
cuonglm

-1

Saya juga merasa frustrasi dengan format stdout sum, saya menggunakan;

sha512sum | tr " " "\n" | head -n 1
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.