การแปลง DOS / UNIX และในทางกลับกัน
Intro
แม้ว่าจะมีโปรแกรมยูทิลิตี้ (dos2unix และ unix2dos) ที่สามารถทำงานนี้ได้ แต่นี่เป็นคำแนะนำง่ายๆเกี่ยวกับวิธีสร้างคุณสมบัติเหล่านี้ด้วยตนเอง
แปลง DOS เป็น UNIX / UNIX เป็น DOS
ไฟล์ข้อความภายใต้ระบบปฏิบัติการยูนิกซ์สิ้นสุดบรรทัดด้วยสัญลักษณ์ "\ n" (เรียกว่าฟีดบรรทัดและ LF, รหัส ASCII ที่ระบุ = 0A)
ไฟล์ข้อความภายใต้ DOS โดย "บรรทัด" สิ้นสุดบรรทัดด้วยสัญลักษณ์ "\ r" (เรียกว่า Carriage Return และ CR, ASCII 0D ที่บันทึกไว้)
ดังนั้นทุกบรรทัดในไฟล์ DOS จะจบลงด้วยลำดับ CRLF หรือ \ r \ n
แปลงจาก DOS เป็น UNIX
เพียงแค่ลบ "\ r" (carriage return) ที่ท้ายบรรทัด
"\ r" ถูกแทนด้วยสัญลักษณ์ "^ M" ซึ่งได้มาจากลำดับของคีย์ "CTRL-V" + "CTRL-M" ต่อไปนี้
ไฟล์ 's / ^ M $ //'
บันทึก:
ด้วยรุ่น GNU-sed (gsed 3.02.80) เราสามารถใช้สัญลักษณ์ ASCII:
sed 's / \ x0D $ //' ไฟล์
การแปลงจาก UNIX เป็น DOS
เพียงแค่ทำตรงกันข้ามกับคำสั่งก่อนหน้าคือ ("^ M" ที่ถูกป้อนในลักษณะเดียวกัน (CTRL-V + CTRL-M)):
sed 's / $ / ^ M /' ไฟล์
บันทึก:
ด้วยรุ่น GNU-sed (gsed 3.02.80) เราสามารถใช้สัญลักษณ์สัญลักษณ์ "\ r":
sed 's / $ / \ r /' ไฟล์