รับ md5sum โดยไม่มีชื่อไฟล์?


8

ฉันต้องได้รับผลรวม md5 ของไฟล์บน AIX แต่md5sumโปรแกรมจะพิมพ์ผลรวมตามด้วยชื่อของไฟล์

ฉันจะได้รับผลรวมโดยไม่มีชื่อไฟล์ได้อย่างไร

คำตอบ:


6
md5sum < filename

จะทำให้ชื่อไฟล์ว่างเปล่า


6
ผลลัพธ์-จะเป็นตัวแทนของ stdin
Dennis Williamson

นี่คือสิ่งที่ฉันใช้ ไม่ต้องการcatแต่เพียงเปลี่ยนเส้นทางmd5sum < filename
Rich Homolka

จุดดี @ ริชฉันทำแบบนั้นดีกว่า
หนัก

11
md5sum filename | awk '{print $1}'

นั่นจะเป็นวิธีหนึ่ง


นั่นคือสิ่งที่ฉันคิด แต่ก็ไม่แน่ใจว่าเขาได้รับ md5 ตั้งแต่แรก
Chris

@ Chris ฉันคิดว่านี่เป็นวิธีที่เขากล่าวถึงโปรแกรม md5sum
Der Hochstapler

สิ่งนี้จะลบ "-" ออกจาก md5sum <filename
Diego AndrésDíaz Espinoza

3

นอกจากนี้:

md5sum filename | cut -c -32

ซึ่งมีประโยชน์ในการไม่มีเครื่องหมายคำพูดหรือตัวอักษรที่จำเป็นต้องหลีกหนีในกรณีที่คุณจำเป็นต้องฝังคำสั่งบางแห่งซึ่งอาจมีล่ามสตริงหลายตัวทำงานอยู่


3

อีกวิธีคือ:

md5sum filename |cut -f 1 -d " "

ตัดจะแบ่งบรรทัดแต่ละช่องว่างและส่งคืนเฉพาะฟิลด์แรกเท่านั้น


1

วิธีที่ง่ายมากคือการกำหนดเอาต์พุตให้กับอาร์เรย์ดังที่อธิบายไว้ที่นี่ :

md5=( $(md5sum "filename") )
echo $md5

อีกวิธีหนึ่งคือตัดพื้นที่และสิ่งใด ๆ หลังจากนั้น:

md5=$(md5sum "filename")
echo ${md5/ *}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.