conemu ที่ใช้ cygwin ดูเหมือนจะไม่รู้จัก '\ r' เป็นส่วนท้ายบรรทัด - โดยเฉพาะสำหรับการอ้างอิงคำสั่ง git (และอื่น ๆ อีกสองสามรายการ)


1

เมื่อฉันเรียกใช้คำสั่ง git git reflogผ่าน conemu โดยใช้ cygwin บน windows 7 ฉันจะได้ผลลัพธ์ทั้งหมดในหนึ่งบรรทัด

ฉันคิดว่ามันเป็นปัญหาการจบบรรทัดที่ conemu ไม่ได้หยิบขึ้นมา

ดังนั้นฉันลองคำสั่งต่อไปนี้:

git reflog | tr '\r' '\n'

(ซึ่งแทนที่ '\ r' ด้วย '\ n') - จากนั้นฉันจะได้ผลลัพธ์ตามที่ต้องการ (แต่ละบันทึกในบรรทัดแยกต่างหาก)

ฉันไม่แน่ใจว่าเป็น conemu ของ Cygwin ที่ไม่รู้จัก '\ r' เป็นบรรทัดใหม่ แต่ไม่มีใครรู้วิธีแก้ไขนั้นหรือไม่


\rไม่ได้หมายถึง "บรรทัดใหม่" หมายความว่า "วางเคอร์เซอร์ที่จุดเริ่มต้นของบรรทัดปัจจุบัน"
Maximus

@ Maximus ฉันรู้ว่ามันเหมือนกับการพูดว่า '\ n' ไม่ได้หมายความว่าบรรทัดใหม่หมายถึง "line feed" และไม่กลับไปที่จุดเริ่มต้นของบรรทัด .... นี่ไม่ได้ช่วยแก้ปัญหาของฉัน: (มัน ปรากฏว่าคำสั่งคอมไพล์ reflog มี \ r ในตอนท้ายของแต่ละบรรทัด (แทน \ n หรือ \ r \ n) ผมอยาก conemu / Cygwin จะตีความว่าเป็นเส้นใหม่..
code_fodder

\ r มักจะใช้ในระหว่างการส่งออกความคืบหน้าอย่างต่อเนื่องเพื่อปรับปรุงบรรทัดเดียวกัน อย่างไรก็ตามมันเป็นคำถามสำหรับรุ่นของคุณทำไมคำสั่งเดียวที่ใช้ผิด cr / lf seq และฉันไม่ได้สังเกตเห็นพฤติกรรมที่ไม่ดีเช่นนี้ในเครื่องของฉัน
Maximus

@ maximus ในกรณีนี้มันไม่ได้ใช้เป็นความก้าวหน้าอย่างต่อเนื่อง หากคุณรู้จักคอมไพล์เลย - โดยพื้นฐานแล้วมันเหมือนกับ 'บันทึกการคอมไพล์' มันควรสร้างรายการไม่ใช่ความก้าวหน้า (ไม่เหมือนกับเปอร์เซ็นต์การนับ) ดังนั้นคำถามของฉันอาจเป็นปัญหาเกี่ยวกับรุ่น - ฉันไม่รู้และฉันไม่รู้วิธีแก้จุดบกพร่อง / หาสาเหตุว่าทำไม ... นี่คือเหตุผลที่ฉันถามคำถาม
:)

คอมไพล์ไม่ใช่แอปพลิเคชั่นคอนโซลตัวเดียวที่มีอยู่ในโลก "การแก้ไข" ข้อผิดพลาดการกำหนดค่าของคอมไพล์โดยการเปลี่ยนพฤติกรรม CR ไปเป็นความผิดจะทำให้แอปพลิเคชันอื่น ๆ เสียหายเป็นจำนวนมาก
Maximus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.