แทนที่ Carriage Return และ Line Feed ใน Notepad ++


72

ฉันมีไฟล์ที่มี CRLF และ LF รวมกันและต้องการลบ LF ฉันใหม่สำหรับ Notepad ++ และเพิ่งดาวน์โหลด V6.23

ฉันใช้กล่องโต้ตอบค้นหา / แทนที่ในโหมดขยาย มันจะค้นหาและนับ CR LF (โดยใช้ \ r \ n) แต่ถ้าฉันทำการแทนที่ (เพื่อเช่นว่างเปล่าหรือ \ r) ไม่มีอะไรเกิดขึ้นและการแทนที่ทั้งหมดบอกว่ามันได้แทนที่ 0 เหตุการณ์ มีไฟล์ประมาณ 1,000 CRLF และอาจเป็น 100 โลน LF

ความคิดใด ๆ


ดังนั้นคุณต้องการแทนที่ CRLF ด้วย CR และ LF ด้วยช่องว่าง (หรือเพียงแค่ลบ LFs แบบสแตนด์อโลน)? นอกจากนี้ไม่ได้มีที่จะผ่าน Notepad ++ เท่านั้น?
Karan

ฉันต้องการลบ LF แบบสแตนด์อโลน มันไม่จำเป็นต้องเป็น Notepad ++ แต่ฉันไม่เข้าใจว่าทำไม Notepad ++ ถึงทำไม่ได้
อลัน

คำแนะนำสำหรับ notepad2 ที่ฉันใช้: blog.jtbworld.com/2011/01/…
Hayden Thring

ฉันจะส่งไฟล์ให้กับคนที่มีVisual Studio (เว้นแต่คุณจะติดตั้งเอง) จากนั้นเปิดไฟล์ที่นั่น สิ่งนี้จะแจ้งให้คุณพร้อมคำถามว่าVisual Studio สามารถ "ทำให้ปกติ" จุดสิ้นสุดของอักขระบรรทัด "อัตโนมัติ" (เปิดไฟล์)
Stein Åsmul

คำตอบ:


68

ภารกิจ: ไฟล์ที่มีการผสมผสานของCRLFและLFและคุณต้องการที่จะจบลงด้วยเพียงCRLFและลบกรณีแบบสแตนด์อโลนทั้งหมดของLF

  1. ไฟล์:
    1

  2. ไฟล์ (แสดงทุกตัวอักษร):
    2

    ตอนนี้ถ้าคุณลบเฉพาะLFแบบสแตนด์อโลนในตอนท้ายของบรรทัดที่ 3 คุณควรจบลงด้วยการรวม 3 บรรทัดและ 4 เข้าด้วยกันด้วยส่วนที่เหลือของการสิ้นสุดบรรทัดไม่ได้รับผลกระทบ

  3. แทนที่ # 1 ( \nด้วย(blank)):
    3

  4. ไฟล์หลังจากแทนที่ # 1:
    4

  5. แทนที่ # 2 ( \rด้วย\r\n):
    5

  6. ไฟล์หลังจากแทนที่ # 2:
    6

  7. ผลสุดท้าย:
    7

สรุป: Notepad ++ ดูเหมือนว่าจะสามารถทำงานได้ดี!


36

ในแถบเมนู Notepad ++ คลิกแก้ไขการแปลง EOLรูปแบบ Mac เก่าเพื่อจัดรูปแบบสำหรับไฟล์ทั้งหมด

รูปภาพของวิธีการทำสิ่งนี้


2
ฉันคิดว่าคุณหมายถึง 'การแปลง EOL' แต่นั่นคือสิ่งที่ฉันกำลังมองหา! ขอบคุณ!
Gary

ฉันพบว่าสิ่งนี้เป็นวิธีที่สอดคล้องกันมากกว่าวิธีค้นหา / แทนที่ มีพฤติกรรมแปลก ๆ ของ notepad ++ ซึ่งหากบรรทัดแรกของไฟล์คือ \ r \ n การค้นหาจะไม่รู้จักเช่นเดียวกับที่อื่นทั้งหมด \ r \ n ในเอกสาร การแปลง EOL ไม่ประสบปัญหานี้
ลดระดับเมื่อ

เอกสาร Notepad ++ อย่างเป็นทางการที่เกี่ยวข้องกับการสิ้นสุดบรรทัด: docs.notepad-plus-plus.org/index.php/Lines_And_Blocks
Julian

เยอรมัน: Bearbeiten -> Format Zeilenende -> UNIX (LF)
PeterCo

3

คุณสามารถคัดลอกทุกอย่างไปยัง wordpad สร้างไฟล์ข้อความใหม่ด้วย notepad ++ แล้ววางกลับไปที่ไฟล์ใหม่จาก wordpad ทุกบรรทัดควรมี CR ตอนนี้


ทำงานร่วมกับไฟล์ที่มีการผสมผสานของการเป็นCR LF, CRและLF
pkr298

2

นี่คือวิธีที่แสนง่าย ....

เลือกข้อความทั้งหมดที่คุณต้องการเปลี่ยนจากนั้นคลิกเมนูแก้ไข -> การใช้งานสาย -> เข้าร่วมไลน์

-หรือ-

เพียงแค่กดปุ่มควบคุม + A แล้วก็ควบคุม + J เพื่อทำเช่นเดียวกัน


1

คุณอาจเปิดใช้งานตัวเลือก "แสดงตัวละครทั้งหมด" โดยไม่ได้ตั้งใจเปิดใช้งานในเครื่องมือแก้ไข

กล่องเครื่องมือ notepad ++


ว้าว. ตัวเลือกนี้ใช้งานได้สำหรับฉันเท่านั้น
Rajeev Rathor


0

ตรวจสอบให้แน่ใจว่าได้เลือกปุ่มแสดงตัวอักษรทั้งหมด ใช้ Alt และลากเมาส์ไปเหนือข้อความที่คุณต้องการคัดลอกและวาง อย่าเลือก CR | LF CR | LF จะถูกผลักออกไป ทำเช่นเดียวกันเมื่อคุณวางและใช้ Alt และอย่าเลือก CR | LF และกด Ctrl-> v นี่คือการผนวกรายการข้อความต่อท้ายไฟล์แยกต่างหากพร้อมกับรายการข้อความ


ยินดีต้อนรับสู่ Super User! โปรดอ่านคำถามอีกครั้งอย่างระมัดระวัง คำตอบของคุณไม่ตอบคำถามเดิม สิ่งนี้ดูเหมือนจะเป็นคำตอบสำหรับคำถามที่แตกต่างอย่างสิ้นเชิง
DavidPostill

0

ฉันขอแนะนำว่าปลายสายที่ธรรมดาที่สุด 2 อันคือ CRLF หรือ LF

หากคุณลบ LF คุณจะจบลงด้วยการลงท้ายบรรทัดของเพียง CR นี่ไม่ใช่มาตรฐาน

สิ่งนี้ (ขึ้นอยู่กับการใช้งานของคุณ) สามารถแบ่งสิ่งต่างๆ ตัวอย่างเช่นไฟล์โฮสต์ windows จะพังถ้าคุณทำเช่นนี้ (เพียงใช้เวลาในการโทรสนับสนุนเกี่ยวกับปัญหานี้)


-1

ในกล่องโต้ตอบค้นหามีสามโหมดการค้นหา ได้แก่ ปกติขยาย (\ n, \ r, \ O, \ x ... ) และนิพจน์ทั่วไป ของฉันเริ่มต้นเป็นปกติ แต่คุณต้องขยายสำหรับตัวละครหนี


-1

ฉันประสบปัญหาคล้ายกัน ฉันทำตามขั้นตอนด้านล่างเพื่อลบ LF ด้วย CRLF

  1. เปิดไฟล์ด้วย notepad ++
  2. คลิกแก้ไข -> การแปลง EOL -> รูปแบบ Windows (ซึ่งจะผนวกส่วนแทนที่ LF ด้วย CRLF)
  3. บันทึกไฟล์

1
OP ต้องการลบ LF ออกจากคู่ CR / LF แต่ให้คงอยู่เฉพาะ LF เดิมที่มีอยู่ คำตอบของคุณจะแทนที่ lone LFs ด้วยคู่ CR / LF โดยไม่เปลี่ยนคู่ CR / LF ที่มีอยู่เดิม มีประโยชน์บางที แต่ตรงข้ามกับสิ่งที่ OP ต้องการ
CVn

-1

เปิดไฟล์ใน Notepad ++

ขั้นตอนที่ 1) ใส่คำว่า warp (ดู wordwrap)
ขั้นตอนที่ 2) ไปที่การค้นหา .. คลิกที่: ค้นหาตัวละครในแท็บช่วง

ในหน้าต่างการค้นหาคุณต้องอยู่ในช่วง 10 ถึง 10 จากนั้นคุณสามารถค้นหาการเกิดขึ้นของ CR / LF และ LF ทั้งหมด

ลบด้วยตนเองหากไฟล์มีขนาดเล็กมาก


-1

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


คุณลองสิ่งนี้จริงหรือ คำแนะนำ: มันไม่ทำงาน
DavidPostill

-1

จากคำตอบข้างต้นฉันได้รับการทดแทนเพียงครั้งเดียวเพื่อแก้ปัญหานี้ซึ่งฉันมีอยู่แล้ว

แทนการแทนที่"\r\n"สำหรับ"\n"และทำมันอีกครั้งฉันแทนที่"\r\n"สำหรับ""(อะไร) แล้วมันก็ทำ ฉันยังทำเครื่องหมาย "ล้อมรอบ" และทำเครื่องหมายถัดจากกล่องเพื่อขยายนิพจน์ทั่วไปที่เป็นไปได้

ด้วยเหตุผลบางอย่างจำเป็นต้องเปลี่ยนช่องว่างสองครั้งด้วยช่องว่างเดียวหลังจากนั้น แต่"\r\n"จะแก้ไขได้หลังจากการเปลี่ยนครั้งแรก

ป้อนคำอธิบายรูปภาพที่นี่


"ฉันแทนที่" \ r \ n "สำหรับ" "(ไม่มีอะไร)" - นี่ไม่ใช่การกระทำที่ร้องขอในคำถาม
MátéJuhász

ฉันต้องการให้ชัดเจนว่าสำหรับฉันในการแก้ปัญหาที่เสนอว่าทุกขั้นตอนที่ฉันกล่าวถึงมีความจำเป็น
Rodrigo Araujo

-1

คุณลักษณะการแปลง EOL ภายใต้เมนูแก้ไขทำงานได้ดีอย่างที่ใครบางคนพูดไปแล้ว - รวดเร็วมากง่ายและแม่นยำมาก ฉันสังเกตเห็นบางสิ่งแปลก ๆ เล็กน้อยซึ่งเป็นเหตุผลว่าทำไมฉันถึงโยนสองเซ็นต์ของฉันมีค่า

ฉันตั้งเป้าที่จะเข้ารหัส Windows ในไฟล์บางไฟล์ของฉันฉันไม่มีตัวเลือกในการเลือก 'รูปแบบ Windows' เพราะเป็นสีเทาฉันเดาเพราะไฟล์ส่วนใหญ่ใช้อักขระ Windows End Of Line ทางออกที่ง่ายคือการเลือกหนึ่งในสองตัวเลือกอื่น ๆ ('รูปแบบ UNIX / OSX' หรือ 'รูปแบบ Mac เก่า') จากนั้นอีกครั้งไปที่ 'แก้ไข -> การแปลง EOL' และรูปแบบของ Windows พร้อมให้เลือกแล้ว


คำตอบนี้ซ้ำคำตอบอื่นที่ได้รับที่นี่

-1

ในการลบ CRLF คุณต้องเลือกไอคอนที่ด้านบนว่า "แสดงตัวอักษรทั้งหมด" และพวกเขาจะหายไป เพียงสแกนด้วยเมาส์ของคุณแล้วค้นหาสิ่งที่ดูเหมือนว่าย้อนหลัง P


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