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 & M
ctrl+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 / บริบท / ฯลฯ )