คู่มือฉบับย่อเพื่อใช้คำสั่ง Sed ใน Linux

การแนะนำคำสั่ง Linux sed

ระบบปฏิบัติการ Linux ใช้ คำสั่ง terminal ในการทำงานร่วมกับระบบไฟล์ของคอมพิวเตอร์ การใช้งานหลักของคำสั่ง Linux sed ซึ่งสั้นสำหรับตัวแก้ไขสตรีมคือการแก้ไขบรรทัดของไฟล์หรือสตรีมโดยการแทนที่ส่วนที่ระบุของบรรทัด ทำให้การเปลี่ยนแปลงข้อความพื้นฐานเป็นไฟล์หรือข้อมูลจากท่อ ตัวอย่างเช่นสมมติว่าคุณมีไฟล์ชื่อ "songs.text" ที่มีบรรทัดเหล่านี้:

1, Justin Timberlake, Title 545, ราคา $ 6.30 2, Taylor Swift, ชื่อเรื่อง 723, ราคา 7.90 เหรียญ 3, Mick Jagger, ชื่อเรื่อง 610, ราคา 7.90 เหรียญ 4, Lady Gaga, ชื่อเรื่อง 118, ราคา 6.30 $ 5, Johnny Cash, ชื่อเรื่อง 482 ราคา $ 6.50 6, Elvis Presley, Title 335, ราคา $ 6.30 7, John Lennon, Title 271, ราคา 7.90 เหรียญ

การเปลี่ยนข้อความด้วย Sed

ถ้าคุณต้องการเปลี่ยนการกำหนดราคาทั้งหมดของ $ 6.30 ถึง $ 7.30 คุณสามารถทำการเปลี่ยนแปลงโดยใช้คำสั่ง sed ได้ด้วยวิธีนี้:

sed 's / 6.30 / 7.30 /' songs.txt> songs2.txt

รหัสนี้ทำให้การเปลี่ยนแปลงและเขียนไฟล์ที่แก้ไขไปเป็น "songs2.txt" ไฟล์ที่ส่งออกประกอบด้วย:

1, จัสตินทิมเบอร์เลค, ชื่อเรื่อง 545, ราคา $ 7.30 2, Taylor Swift, ชื่อเรื่อง 723, ราคา 7.90 เหรียญ 3, Mick Jagger, ชื่อเรื่อง 610, ราคา 7.90 เหรียญ 4, Lady Gaga, ชื่อเรื่อง 118, ราคา 7.30 $ 5, Johnny Cash, Title 482, Price $ 6.50 6, Elvis Presley, Title 335, Price $ 7.30 7, John Lennon, Title 271, ราคา 7.90 เหรียญ

หากคุณต้องการแทนที่รายการ "เงินสด" ทั้งหมดด้วย "ถังขยะ" คุณใช้:

sed 's / Cash / Trash /' songs.txt> songs2.txt

ซึ่งสร้างไฟล์ที่มีเนื้อหา:

1, จัสตินทิมเบอร์เลค, ชื่อเรื่อง 545, ราคา $ 7: 30 2, Taylor Swift, Title 723, Price $ 7.90 3, Mick Jagger, Title 610, ราคา 7.90 เหรียญ 4, Lady Gaga, ชื่อเรื่อง 118, ราคา $ 7: 30 5, Johnny Trash, Title 482, ราคา 6.50 ดอลลาร์ 6, Elvis Presley, Title 335, ราคา $ 7: 30 7, John Lennon, Title 271, ราคา $ 7.90

การกรองด้วยคำสั่ง Sed

Sed ยังใช้บ่อยในการกรองบรรทัดในไฟล์หรือสตรีม ตัวอย่างเช่นถ้าคุณต้องการเห็นบรรทัดที่ประกอบด้วย "จอห์น" คุณใช้:

sed -n '/ John / p' songs.txt> johns.txt

ซึ่งเขียนบรรทัดต่อไปนี้เพื่อไฟล์ johns.txt:

5, Johnny Trash, ชื่อเรื่อง 482, ราคา $ 6.50 7, John Lennon, Title 271, ราคา 7.90 เหรียญ