มีวิธีใดบ้างใน Notepad ++ (หรือแม้กระทั่งกับเครื่องมืออื่น) ในการเปลี่ยนการสิ้นสุดบรรทัดโดยอัตโนมัติในหลายไฟล์ในครั้งเดียว ?
เช่นแปลงไฟล์ windows EOL ( CRLF
) และ UNIX EOL ( LF
) ให้เป็น Windows EOL ( CRLF
) ทั้งหมด
มีวิธีใดบ้างใน Notepad ++ (หรือแม้กระทั่งกับเครื่องมืออื่น) ในการเปลี่ยนการสิ้นสุดบรรทัดโดยอัตโนมัติในหลายไฟล์ในครั้งเดียว ?
เช่นแปลงไฟล์ windows EOL ( CRLF
) และ UNIX EOL ( LF
) ให้เป็น Windows EOL ( CRLF
) ทั้งหมด
คำตอบ:
แทนที่โต้ตอบสามารถจัดการกับการขยายตัวอักษรเช่น EOL เพียงแค่เปลี่ยน "โหมดการค้นหา" เป็น "ขยาย" และคุณสามารถทำงานกับ EOL (\ r \ n ใน Windows หรือ \ n ใน Unix), แท็บ (\ t) ฯลฯ
คุณยังสามารถใช้แท็บค้นหาในไฟล์ของกล่องโต้ตอบเพื่อแทนที่ไฟล์หลายไฟล์
\n
ด้วย\r\n
นอกจากนี้ยังจะแปลงไป\r\n
\r\r\n
\t
ในFind what
? แท็บไม่มีส่วนเกี่ยวข้องกับการเปลี่ยนการสิ้นสุดบรรทัดใช่ไหม?
ฉันมี Notepad ++ 6.1.2
ในเมนู "แก้ไข" คุณมี "การแปลง EOL" ที่ตอบสนองสิ่งที่คุณต้องการ
ใช้คุณสมบัติ 'ค้นหาในไฟล์' (Ctrl + Shift + F) เปลี่ยนโหมดการค้นหาที่ด้านล่างซ้ายเป็น 'นิพจน์ทั่วไป'
ในช่อง "ค้นหาอะไร" ให้ใช้รูปแบบนี้:
(?<!\r)\n
แทนที่ด้วย:
\r\n
เลือกไดเร็กทอรีของคุณและระบุตัวกรองประเภทไฟล์ เลือก 'ในโฟลเดอร์ย่อยทั้งหมด' หากคุณต้องการ คลิก 'แทนที่ในไฟล์'
สิ่งนี้จะแทนที่อักขระขึ้นบรรทัดใหม่ (\ n) ที่ไม่ได้นำหน้าด้วยการคืนค่าขนส่ง (\ r) ด้วย \ r \ n ดังนั้นมันจะไม่ตรงกับส่วนท้ายบรรทัดที่เป็นสไตล์ Windows อยู่แล้ว
(?<!\r)\n
หมายถึงอะไรโดยเฉพาะตอนแรก?<!
ขอบคุณ!
(?<! )
เป็น lookbehind เชิงลบ หมายถึงการจับคู่หากไม่มีคำนำหน้า ในกรณีนี้มันกำลังตรวจสอบ\r
และจะจับคู่ก็ต่อเมื่อ\n
ไม่มี\r
ก่อนหน้านั้น
ใช้แทนที่ทั้งหมดด้วยนิพจน์ทั่วไป
(\r?\n)|(\r\n?)
ถึง
\r\n
ซึ่งจะจับคู่รูปแบบการสิ้นสุดบรรทัดที่เป็นไปได้ทั้งหมด (single \ r \ n หรือ \ r \ n) กลับไปที่ \ r \ n (Windows)
หากต้องการใช้งานไฟล์หลายไฟล์ให้ทำดังนี้
โซลูชันการทำงานเดียวที่ฉันพบสำหรับไฟล์ / โฟลเดอร์หลายรายการหลังจาก googling เป็นเวลา 1 ชั่วโมงคือ:
พบวิธีแก้ปัญหานี้จากการสนทนานี้:
คุณยังสามารถตั้งค่า EOL เริ่มต้นใน notepad ++ ผ่าน "การตั้งค่า" -> "การตั้งค่า" -> "เอกสารใหม่ / ไดเรกทอรีเริ่มต้น" จากนั้นเลือก "Unix / OSX" ใต้ช่องรูปแบบ
หมายเหตุ: คุณสามารถใช้ตัวเลือกนอกแบนด์ได้ตลอดเวลาโดยใช้บรรทัดคำสั่ง:
unix2dos *.cmd
dos2unix *.sh
ในการแปลงไฟล์หลายไฟล์เป็นไดเร็กทอรีเดียวและเรียกซ้ำ เพียงติดตั้ง PythonScript บน Notepad ++ จากนั้นใช้สคริปต์ด้านล่าง
https://gist.github.com/bjverde/583c2ee8b386994f3a1f8acdea3b7ed2