Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

คำสั่ง Cat ใน Linux – อธิบายการต่อกันด้วย Bash Examples

Cat ใน Linux ย่อมาจาก concatenation (เพื่อรวมสิ่งต่าง ๆ เข้าด้วยกัน) และเป็นหนึ่งในคำสั่ง Linux ที่มีประโยชน์และหลากหลายที่สุด แม้ว่าจะไม่ได้น่ารักและน่ากอดเหมือนแมวจริงๆ แต่ Linux cat คำสั่งสามารถใช้เพื่อรองรับการดำเนินการต่างๆ โดยใช้สตริง ไฟล์ และเอาต์พุต

คำสั่ง cat มีจุดประสงค์หลักสามประการที่เกี่ยวข้องกับไฟล์ข้อความ:

  • สร้าง
  • อ่าน/แสดงผล
  • อัปเดต/แก้ไข

เราจะพูดถึงสิ่งเหล่านี้เพื่อแสดงคำสั่งและตัวเลือกที่เกี่ยวข้องกับการดำเนินการแต่ละอย่าง

เริ่มต้นใช้งาน

ในการเริ่มต้น มาสร้างไฟล์สองไฟล์ชื่อ foo.txt และ spam.txt

เริ่มต้นด้วยการสร้าง foo.txt ด้วยคำสั่ง cat > foo.txt จากบรรทัดคำสั่ง Linux

คำเตือน:หากมีไฟล์ชื่อ foo.txt อยู่แล้ว cat คำสั่งโดยใช้ตัวดำเนินการ> จะเขียนทับ

จากที่นี่ พรอมต์จะแสดงขึ้นบรรทัดใหม่เพื่อให้เราสามารถป้อนข้อความที่เราต้องการได้ สำหรับตัวอย่างนี้ เราจะใช้:

FILE 1
foo
bar
baz

เพื่อกลับไปที่บรรทัดคำสั่งและสร้างไฟล์ข้อความ เราใช้ CTRL + D.

ตอนนี้ มาสร้าง spam.txt ด้วย cat > spam.txt และใส่สิ่งต่อไปนี้:

FILE 2
spam
ham
eggs

หากเราต้องการต่อท้ายหรือเพิ่มข้อความในไฟล์เหล่านี้ เราจะใช้ cat >> FILENAME และป้อนข้อความที่เราต้องการใช้

โปรดทราบว่าโอเปอเรเตอร์>> ใช้สำหรับต่อท้ายแทนที่จะเป็นโอเปอเรเตอร์>

แทนที่จะต้องเปิดโปรแกรมแก้ไขข้อความ เราสามารถสร้างไฟล์ข้อความที่ง่ายและรวดเร็วจากบรรทัดคำสั่ง ซึ่งช่วยเราประหยัดเวลาและความพยายาม

ประเด็นสำคัญจากส่วนนี้คือเราใช้ cat > FILENAME เพื่อสร้างหรือเขียนทับไฟล์ นอกจากนี้เรายังสามารถใช้ cat >> FILENAME เพื่อต่อท้ายไฟล์ที่มีอยู่แล้ว หลังจากพิมพ์ข้อความแล้ว เราต้องการใช้ CTRL + D เพื่อออกจากตัวแก้ไข กลับไปที่บรรทัดคำสั่ง และสร้างไฟล์

การอ่านสายรุ้ง

ตอนนี้เราได้สร้างบางสิ่งแล้ว มาดูสิ่งที่เราทำกัน

สังเกตว่าเราไม่มีโอเปอเรเตอร์> หรือ>> ในคำสั่งต่อไปนี้ มีแต่ cat และชื่อไฟล์

คำสั่ง cat foo.txt จะแสดงสิ่งต่อไปนี้:

FILE 1
foo
bar
baz

ดังนั้น cat foo.txt จะให้เราอ่านไฟล์ แต่มาดูกันว่าเราจะทำอะไรได้อีก

สมมติว่าเราต้องการทราบจำนวนบรรทัดของไฟล์ที่เรากำลังดำเนินการอยู่ สำหรับสิ่งนี้ ตัวเลือก -n มีประโยชน์

ด้วยคำสั่ง cat -n foo.txt เราจะเห็นว่าไฟล์ของเรายาวแค่ไหน:

  1  FILE 1
  2  foo
  3  bar
  4  baz

ด้วย -n เราสามารถทราบจำนวนบรรทัดของไฟล์ที่เรากำลังใช้งาน สิ่งนี้มีประโยชน์เมื่อเราวนซ้ำไฟล์ที่มีความยาวคงที่

กำลังเชื่อมต่อไฟล์

โอเค เราเห็นแล้วว่า cat สามารถสร้างและแสดงไฟล์ได้ แต่การต่อ (รวม) เข้าด้วยกันล่ะ?

สำหรับตัวอย่างนี้ เราจะใช้ไฟล์ foo.txt และ spam.txt ถ้าเราต้องการจะจินตนาการ เราสามารถดูเนื้อหาของทั้งสองไฟล์พร้อมกันได้ เราจะใช้คำสั่ง cat อีกครั้ง คราวนี้ใช้ cat foo.txt spam.txt .

cat foo.txt spam.txt ผลลัพธ์ดังต่อไปนี้:

FILE 1
foo
bar
baz
FILE 2
spam
ham
eggs

โปรดทราบว่าข้างต้นแสดงเฉพาะสองไฟล์เท่านั้น ณ จุดนี้ เรายังไม่ได้ต่อกันเป็นไฟล์ใหม่

ในการต่อไฟล์เป็นไฟล์ใหม่ เราต้องการใช้ cat foo.txt spam.txt > fooSpam.txt ซึ่งให้ผลลัพธ์เป็นไฟล์ใหม่ fooSpam.txt

การใช้ cat fooSpam.txt ส่งออกข้อมูลต่อไปนี้ไปยังเทอร์มินัล:

FILE 1
foo
bar
baz
FILE 2
spam
ham
eggs

คำสั่งนี้ยังมีประโยชน์เมื่อเราต้องการเชื่อมไฟล์มากกว่าสองไฟล์เป็นไฟล์ใหม่

ประเด็นสำคัญคือเราสามารถดูไฟล์หลายไฟล์ด้วย cat FILENAME1 FILENAME 2 .

นอกจากนี้ เราสามารถเชื่อมหลายไฟล์เป็นไฟล์เดียวด้วยคำสั่ง cat FILENAME1 FILENAME 2 > FILENAME3 .

กิจกรรมสนุกๆ อื่นๆ ที่ควรทำกับแมว

สมมติว่าเรากำลังทำงานกับไฟล์และได้รับข้อผิดพลาดด้วยเหตุผลบางประการก่อนสิ้นสุดไฟล์ และดูเหมือนว่าไฟล์อาจมีบรรทัดมากกว่าที่เราคาดไว้

เพื่อตรวจสอบไฟล์เพิ่มเติมอีกเล็กน้อยและอาจแก้ปัญหาของเราได้ เราสามารถใช้สวิตช์ -A ตัวเลือก -A จะแสดงให้เราเห็นว่าบรรทัดใดลงท้ายด้วย $ จะแสดงอักขระแท็บด้วย ^I และยังแสดงอักขระอื่นๆ ที่ไม่ได้พิมพ์ด้วย

หากเราดูตัวอย่างไฟล์ข้อความที่ไม่สามารถพิมพ์ได้ด้วย cat nonPrintExample.txt เราอาจได้อะไรแบบนี้:





       





ซึ่งก็โอเคแต่อาจไม่สามารถบอกเล่าเรื่องราวทั้งหมดของตัวละครหรือสตริงที่อาจสร้างปัญหาให้เราได้

ในขณะที่ cat -A nonPrintExample.txt อาจให้ผลลัพธ์ที่เป็นประโยชน์กับเรามากขึ้น:

^I^I$
$
^L$
$
^G^H^H^H^Y^I^N^O^P^@$
^@^@^[g^[f^[d^[g^[6^[5^[4^[6^[=$
$
$
^X$

ที่นี่ เราได้รับการแสดงที่ชัดเจนยิ่งขึ้นของสิ่งที่อาจเกิดขึ้นระหว่างแท็บ การป้อนบรรทัด การส่งคืน และอักขระอื่นๆ

ประเด็นสำคัญที่นี่คือ cat -A FILENAME สามารถบอกรายละเอียดเชิงลึกเกี่ยวกับไฟล์ที่เรากำลังดำเนินการได้

บทความนี้ควรให้ภาพรวมที่ดีของคำสั่ง cat สิ่งที่สามารถทำได้ และฟังก์ชันการทำงาน