Loại bỏ tên tệp từ đầu ra của sha512sum


11

Có thể đó là một câu hỏi tầm thường, nhưng trong mantrang tôi không tìm thấy điều gì hữu ích. Tôi đang sử dụng Ubuntu và bash.

Đầu ra bình thường cho sha512sum testfile

<hash_code>  testfile

Làm thế nào để chặn đầu ra tên tệp? Tôi chỉ muốn có được

<hash_code>

2
Bạn cần trợ giúp từ các công cụ khác, nhưsha512sum testfile | awk '{print $1}'
cuonglm

Câu trả lời:


17

Không có cách nào để ngăn chặn điều đó, nhưng vì SHA luôn là một từ duy nhất không có khoảng trắng bạn có thể làm:

sha512sum testfile | cut -d " " -f 1 

hoặc vd

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


1

Có lẽ chỉ cần thêm một bí danh ~/.profiletheo cách cắt bỏ đối số đầu tiên của Anthon sẽ giúp ích như một giải pháp lâu dài,

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

Để làm cho nó làm việc, chúng tôi rõ ràng sẽ cần phải chạy nó một lần như, . .profiletrong ~.

Bây giờ chỉ đưa ra sha <file_name>sẽ mang lại cách bạn muốn nó.


1
Bạn cần phải trích dẫn $1, nếu không, bạn cung cấp các lỗ hổng bảo mật trong chức năng của mình unix.stackexchange.com/q/171346/38906
cuonglm

-1

Tôi cũng đã thất vọng bởi định dạng xuất chuẩn, tôi đã sử dụng;

sha512sum | tr " " "\n" | head -n 1
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.