<ก่อนหน้านี้ | Contents | ถัดไป>
แมว
การขอ แมว โปรแกรมมีตัวเลือกที่น่าสนใจมากมาย หลายคนใช้เพื่อช่วยให้เห็นภาพเนื้อหาข้อความได้ดีขึ้น ตัวอย่างหนึ่งคือ -A ตัวเลือกซึ่งใช้เพื่อแสดงอักขระที่ไม่พิมพ์ในข้อความ มีหลายครั้งที่เราต้องการทราบว่ามีอักขระควบคุมฝังอยู่ในข้อความที่มองเห็นได้หรือไม่ โดยทั่วไป ได้แก่ อักขระแท็บ (ตรงข้ามกับการเว้นวรรค) และการขึ้นบรรทัดใหม่ ซึ่งมักแสดงเป็นอักขระลงท้ายบรรทัดในไฟล์ข้อความรูปแบบ MS-DOS สถานการณ์ทั่วไปอีกประการหนึ่งคือไฟล์ที่มีบรรทัดข้อความที่มีช่องว่างต่อท้าย
มาสร้างไฟล์ทดสอบโดยใช้ แมว เป็นโปรแกรมประมวลผลคำดั้งเดิม เมื่อต้องการทำเช่นนี้ เราเพียงแค่ป้อนคำสั่ง แมว (พร้อมกับระบุไฟล์สำหรับเอาท์พุทที่เปลี่ยนเส้นทาง) และพิมพ์ข้อความของเราตามด้วย เข้าสู่ เพื่อจบสายอย่างถูกต้องแล้ว Ctrl-d, เพื่อบ่งชี้ถึง แมว ที่เราได้มาถึงจุดสิ้นสุดของไฟล์ ในตัวอย่างนี้ เราป้อนอักขระแท็บนำหน้าและตามบรรทัดด้วยช่องว่างต่อท้าย:
[me@linuxbox ~]$ แมว > foo.txt
สุนัขจิ้งจอกสีน้ำตาลได้อย่างรวดเร็วเพิ่มขึ้นกว่าสุนัขขี้เกียจ. [me@linuxbox ~]$
[me@linuxbox ~]$ แมว > foo.txt
สุนัขจิ้งจอกสีน้ำตาลได้อย่างรวดเร็วเพิ่มขึ้นกว่าสุนัขขี้เกียจ. [me@linuxbox ~]$
ต่อไปเราจะใช้ แมว กับ -A ตัวเลือกเพื่อแสดงข้อความ:
[me@linuxbox ~]$ แมว -A foo.txt
^Iจิ้งจอกสีน้ำตาลเร็วกระโดดข้ามสุนัขขี้เกียจ $ [me@linuxbox ~]$
[me@linuxbox ~]$ แมว -A foo.txt
^Iจิ้งจอกสีน้ำตาลเร็วกระโดดข้ามสุนัขขี้เกียจ $ [me@linuxbox ~]$
ดังที่เราเห็นในผลลัพธ์ อักขระแท็บในข้อความของเราแสดงโดย ^I. นี่เป็นสัญกรณ์ทั่วไปที่หมายถึง "Control-I" ซึ่งปรากฏว่าเหมือนกับอักขระแท็บ เรายังเห็นว่า a $ ปรากฏที่ส่วนท้ายสุดของบรรทัด แสดงว่าข้อความของเรามีช่องว่างต่อท้าย
เทียบกับข้อความ MS-DOS Unix Text
เหตุผลหนึ่งที่คุณอาจต้องการใช้ แมว การค้นหาอักขระที่ไม่พิมพ์ในข้อความคือการระบุการส่งคืนสินค้าที่ซ่อนอยู่ การคืนรถที่ซ่อนอยู่มาจากไหน? ดอสและวินโดวส์! Unix และ DOS ไม่ได้กำหนดจุดสิ้นสุดของบรรทัดในลักษณะเดียวกันในไฟล์ข้อความ Unix ลงท้ายบรรทัดด้วยอักขระป้อนบรรทัด (ASCII 10) ในขณะที่ MS- DOS และอนุพันธ์ใช้การขึ้นบรรทัดใหม่ตามลำดับ (ASCII 13) และป้อนบรรทัดเพื่อสิ้นสุดข้อความแต่ละบรรทัด
มีหลายวิธีในการแปลงไฟล์จากรูปแบบ DOS เป็น Unix ในระบบ Linux หลายๆ ระบบ มีโปรแกรมที่เรียกว่า ดอส2ยูนิกซ์ และ ยูนิกซ์ทูดอสซึ่งสามารถแปลงไฟล์ข้อความเป็นและจากรูปแบบ DOS แต่ถ้าคุณไม่มี dos2u- นิก ในระบบของคุณ ไม่ต้องกังวล ขั้นตอนการแปลงข้อความจากรูปแบบ DOS เป็น Unix นั้นง่ายมาก มันเกี่ยวข้องกับการถอนคืนรถที่กระทำผิด ซึ่งสามารถทำได้ง่ายโดยโปรแกรมสองสามโปรแกรมที่กล่าวถึงในบทนี้
cat ยังมีตัวเลือกที่ใช้ในการแก้ไขข้อความ สองที่โดดเด่นที่สุดคือ -n ซึ่งกำหนดหมายเลขบรรทัด และ -s ซึ่งระงับเอาต์พุตของบรรทัดว่างหลายบรรทัด เราสามารถแสดงให้เห็นดังนี้:
[me@linuxbox ~]$ แมว > foo.txt
จิ้งจอกสีน้ำตาลอย่างรวดเร็ว
[me@linuxbox ~]$ แมว > foo.txt
จิ้งจอกสีน้ำตาลอย่างรวดเร็ว
กระโดดข้ามสุนัขขี้เกียจ
[me@linuxbox ~]$ แมว -ns foo.txt
กระโดดข้ามสุนัขขี้เกียจ
[me@linuxbox ~]$ แมว -ns foo.txt
1
2
3
1
2
3
[me@linuxbox ~]$
[me@linuxbox ~]$
จิ้งจอกสีน้ำตาลอย่างรวดเร็ว
จิ้งจอกสีน้ำตาลอย่างรวดเร็ว
กระโดดข้ามสุนัขขี้เกียจ
กระโดดข้ามสุนัขขี้เกียจ
ในตัวอย่างนี้ เราสร้างเวอร์ชันใหม่ของ our ฟู.txt ไฟล์ทดสอบซึ่งมีข้อความสองบรรทัดคั่นด้วยบรรทัดว่างสองบรรทัด หลังจากประมวลผลโดย แมว กับ -NS ตัวเลือก บรรทัดว่างพิเศษจะถูกลบออก และบรรทัดที่เหลือจะมีการกำหนดหมายเลข แม้ว่าขั้นตอนนี้จะไม่ใช่กระบวนการที่ต้องทำกับข้อความมากนัก แต่ก็เป็นกระบวนการหนึ่ง