TexPad กำลังสร้างมัน ฉันรู้ว่ามันอยู่ภายใต้กำหนดเวลาบางส่วน ฉันจำไม่ได้ว่ามันคือชื่อ
ตัวละครสีน้ำเงิน:

ฉันแค่ต้องการเอาออกเป็นจำนวนมากจากเอกสารของฉัน
คุณพิมพ์มันได้อย่างไร
TexPad กำลังสร้างมัน ฉันรู้ว่ามันอยู่ภายใต้กำหนดเวลาบางส่วน ฉันจำไม่ได้ว่ามันคือชื่อ
ตัวละครสีน้ำเงิน:

ฉันแค่ต้องการเอาออกเป็นจำนวนมากจากเอกสารของฉัน
คุณพิมพ์มันได้อย่างไร
คำตอบ:
มันเป็นที่รู้จักในฐานะสายการบินกลับ
หากคุณกำลังใช้vimคุณสามารถเข้าสู่โหมดแทรกและประเภทCTRL- -v CTRL mนั่น^ Mเป็นเทียบเท่าแป้นพิมพ์ได้ \ r
การแทรก0x0Dตัวแก้ไข hex จะทำงาน
วิธีการลบ
perl -p -i -e "s/\r//g" filenameคุณสามารถลบได้โดยใช้คำสั่ง
ตามที่ OP แนะนำในความคิดเห็นของคำตอบนี้ที่นี่คุณสามารถลองdos2unix filenameและดูว่าแก้ไขได้หรือไม่
ในฐานะที่เป็น @steeldriver แสดงให้เห็นในความคิดเห็นที่หลังจากเปิดตัวแก้ไขเสียงเรียกเข้าให้กดคีย์และประเภทesc:set ff=unix
อ้างอิง
https://stackoverflow.com/questions/1585449/insert-the-carriage-return-character-in-vim
:set ff=unixเช่นกัน
รหัส
sed -i 's/^M//' filename.txt
ในขณะที่พิมพ์ในคำสั่งไม่ได้ใช้^M คุณควรใช้shift+6 & Mctrl+v+m
คุณสามารถทำสิ่งนี้ได้ด้วยความใจเย็น
sed -i "s/\r//g" filename
ในฐานะที่เป็น Ramesh notes, CTRL+ V CTRL+ Mควรให้คุณได้รับตัวอักษรที่แท้จริง - แม้ว่าคุณจะไม่ได้ จำกัด เพียงแค่การทำเช่นนี้เท่านั้นvim- คุณควรจะสามารถทำสิ่งเดียวกันในโหมดโหมดมาตรฐานใด ๆ
cat ./file | tr -d '\r' >./file
... อาจทำงานได้
|pipeไฟล์ ความจริงไฟล์ tmp ระดับกลางจะมีประสิทธิภาพมากกว่า - แต่บัฟเฟอร์ในไพพ์ควรจะเพียงพอ แต่ถึงกระนั้นในกรณีที่มันไม่tr -d '\r' <<FILE >./file\n$(cat ./file)\nFILE\nได้เป็นสิ่งที่แน่นอน - หากไฟล์ไม่มี\000ตัวอักษรนั่นคือ
./fileที่catเคยเป็นมาก่อนที่จะมีโอกาสอ่าน คำสั่งทั้งหมดของไพพ์ไลน์ถูกเรียกใช้ในแบบขนานและเชลล์จะถูกประมวลผลก่อนประมวลผลคำสั่งที่ได้รับผลกระทบ
$(cat)fix: หรือ (สำคัญ) ต่อท้ายบรรทัดว่างเปล่าหรือบรรทัดสุดท้ายที่ไม่ถูกทำลายหรือมีข้อมูลมากกว่าที่เหมาะกับหน่วยความจำที่มีอยู่ (rm file; tr -d '\r' >file) <fileหลีกเลี่ยงสิ่งเหล่านี้หากสร้างไฟล์ใหม่ไม่เป็นไร (รีเซ็ตเจ้าของ / กลุ่ม / permbits / ACL / บริบท / ฯลฯ )