Score:6

หัวกับพฤติกรรมแปลก ๆ

ธง ua

ฉันได้ดาวน์โหลด ไฟล์วาร์ค จากการรวบรวมข้อมูลทั่วไปใน Ubuntu 18.04 หลังจากคลายการบีบอัดด้วย gzip ฉันพยายามดึงส่วนของไฟล์โดยใช้ ศีรษะ. ฉันลองครั้งแรก:

หัว -c 29 CC-MAIN-20210620114611-20210620144611-00436.warc

สร้างผลลัพธ์ตามที่คาดไว้โดยส่งออก 29 ไบต์แรกของไฟล์:

WARC/1.0
WARC-ประเภท: warcinfo

แต่ถ้าแทนที่จะใช้ 29 ฉันใช้ 30 มันให้ผลลัพธ์ที่ฉันไม่คาดคิด:

หัว -c 30 CC-MAIN-20210620114611-20210620144611-00436.warc

เอาท์พุต:

WARC/1.0

นี่เป็นเพียง 10 ไบต์แรกของไฟล์ ไม่ใช่ 30 ไบต์แรก ถ้าฉันใช้ หัว -c 31, ผลลัพธ์ที่คาดหวังกลับมาอีกครั้ง. ฉันไม่รู้ว่านี่เป็นข้อบกพร่องหรือมีรายละเอียดเกี่ยวกับวิธีการทำงานของหัวหน้าที่ฉันไม่รู้หรือไม่

user7761803 avatar
sa flag
หากคุณต้องการดูว่าเกิดอะไรขึ้น ให้ไพพ์เอาต์พุตไปที่ hexdump โดยมีบางอย่างเช่น `head -c 30 CC-MAIN-20210620114611-20210620144611-00436.warc | hexdump -Cv`
Score:17
ธง hr

เดอะ ศีรษะ คำสั่งเกือบจะแสดงผลตามจำนวนไบต์ที่ร้องขออย่างแน่นอน อย่างไรก็ตาม จำนวนไบต์เหล่านั้นคืออะไร เป็น กำลังส่งผลกระทบต่อวิธีการแสดงในเทอร์มินัลของคุณ

โดยเฉพาะอย่างยิ่งไฟล์ gunzip ของคุณมีการสิ้นสุดบรรทัด CRLF แบบ DOS โดยมี CR ที่ไบต์ 30 และ LF ที่ไบต์ 31 เมื่อคุณทำ หัว -c29เอาต์พุตส่วนหัวไม่รวมไบต์ที่ลงท้ายทั้งสองบรรทัด และคุณจะเห็นบางอย่างเช่น

ชื่อของคุณ@คอมพิวเตอร์:~$ head -c29 file.warc
WARC/1.0
WARC-ประเภท: responseyourname@computer:~$

ด้วยพรอมต์เชลล์ของคุณตามหลังไบต์ที่ 29 โดยตรง เมื่อคุณทำ หัว -c31คุณจับภาพทั้ง CR และ LF และเอาต์พุตจะมีลักษณะดังนี้

ชื่อของคุณ@คอมพิวเตอร์:~$ head -c31 file.warc
WARC/1.0
WARC-ประเภท: การตอบสนอง
yourname@computer:~$

อย่างไรก็ตามเมื่อคุณทำ หัว -c30เอาต์พุตประกอบด้วย CR ที่สิ้นสุด แต่ไม่ใช่ LF ต่อไปนี้ - เคอร์เซอร์จะถูกส่งกลับไปที่ตำแหน่ง 0 แต่ถูกทิ้งไว้ในบรรทัดเดียวกันของเทอร์มินัล ซึ่งจะถูกเขียนทับโดย shell prompt ของคุณ:

ชื่อของคุณ@คอมพิวเตอร์:~$ head -c31 file.warc
WARC/1.0
yourname@computer:~$

หากบรรทัดยาวกว่าข้อความแจ้งของคุณ คุณจะเห็นอักขระจากไฟล์โผล่พ้นจุดสิ้นสุด ถ้าคุณ ป.ล.1 พรอมต์ว่างเปล่า จากนั้นคุณจะเห็นผลลัพธ์ที่คาดไว้ทั้งหมด

br flag
หรือในทางปฏิบัติมากกว่านั้น เพียงแค่ใช้ `head -c 30 filename ; เสียงสะท้อน `

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา