ฉันต้องได้รับผลรวม md5 ของไฟล์บน AIX แต่md5sum
โปรแกรมจะพิมพ์ผลรวมตามด้วยชื่อของไฟล์
ฉันจะได้รับผลรวมโดยไม่มีชื่อไฟล์ได้อย่างไร
ฉันต้องได้รับผลรวม md5 ของไฟล์บน AIX แต่md5sum
โปรแกรมจะพิมพ์ผลรวมตามด้วยชื่อของไฟล์
ฉันจะได้รับผลรวมโดยไม่มีชื่อไฟล์ได้อย่างไร
คำตอบ:
md5sum < filename
จะทำให้ชื่อไฟล์ว่างเปล่า
cat
แต่เพียงเปลี่ยนเส้นทางmd5sum < filename
md5sum filename | awk '{print $1}'
นั่นจะเป็นวิธีหนึ่ง
นอกจากนี้:
md5sum filename | cut -c -32
ซึ่งมีประโยชน์ในการไม่มีเครื่องหมายคำพูดหรือตัวอักษรที่จำเป็นต้องหลีกหนีในกรณีที่คุณจำเป็นต้องฝังคำสั่งบางแห่งซึ่งอาจมีล่ามสตริงหลายตัวทำงานอยู่
อีกวิธีคือ:
md5sum filename |cut -f 1 -d " "
ตัดจะแบ่งบรรทัดแต่ละช่องว่างและส่งคืนเฉพาะฟิลด์แรกเท่านั้น
วิธีที่ง่ายมากคือการกำหนดเอาต์พุตให้กับอาร์เรย์ดังที่อธิบายไว้ที่นี่ :
md5=( $(md5sum "filename") )
echo $md5
อีกวิธีหนึ่งคือตัดพื้นที่และสิ่งใด ๆ หลังจากนั้น:
md5=$(md5sum "filename")
echo ${md5/ *}
-
จะเป็นตัวแทนของ stdin