Linux: แทนที่สตริงข้อความในไฟล์ [Guide]

Linux: แทนที่สตริงข้อความในไฟล์ [Guide]

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

Linux: แทนที่สตริงข้อความในไฟล์ [Guide]

แทนที่สตริงข้อความในไฟล์ – sed

เครื่องมือ sed เป็นวิธีที่ดีที่สุดในการแทนที่สตริงข้อความในไฟล์บน Linux เหตุผล? ใช้งานง่ายและทำงานได้ดีมาก โดยปกติ Sed จะติดตั้งไว้ล่วงหน้าบนระบบปฏิบัติการ Linux 99% ดังนั้นจึงไม่จำเป็นต้องติดตั้งเพื่อใช้งาน

การแทนที่สตริงข้อความในไฟล์ด้วย Sed ทำได้โดยใช้คำสั่งsed -i นี่คือวิธีการใช้งาน ขั้นแรก เปิดหน้าต่างเทอร์มินัลบนเดสก์ท็อป Linux คุณสามารถเปิดหน้าต่างเทอร์มินัลโดยกด  Ctrl + Alt + Tบนแป้นพิมพ์

เมื่อหน้าต่างเทอร์มินัลเปิดและพร้อมใช้งานแล้ว ให้เขียนsed -i ในพรอมต์เทอร์มินัล นี่คือการเริ่มต้นของคำสั่งการแทนที่

sed -i

หลังจากเขียน  คำสั่งsed -i แล้ว ให้เพิ่มเครื่องหมายคำพูด ' เครื่องหมายคำพูดนี้จำเป็น เนื่องจากข้อความทั้งหมดจะถูกแทนที่ด้วยsed -i ต้องเริ่มหลังเครื่องหมายนี้

sed -i '

ต่อไปนี้เป็นครั้งแรก  'เครื่องหมายเขียน/  s / s ไปโดยตรงก่อนที่ข้อความที่มีอยู่ที่คุณต้องการที่จะเปลี่ยนการใช้  sed

sed -i 's/

ตอนนี้  s/ ถูกเขียนลงในพรอมต์บรรทัดคำสั่งของเทอร์มินัลแล้ว ก็ถึงเวลาบอก sed ว่าจะแทนที่ข้อความใดในไฟล์ ในตัวอย่างนี้ เราจะแทนที่คำว่า "apple" 

sed -i 's/apple

เมื่อข้อความที่เราต้องการแทนที่ถูกเขียนลงในคำสั่ง ขั้นตอนต่อไปคือการเขียนข้อความใหม่ที่จะแทนที่ ในตัวอย่างนี้ เราจะแทนที่ “apples” ด้วย “oranges”

sed -i 's/apples/oranges

เมื่อข้อความที่เราต้องการที่จะมาแทนที่ถูกเขียนลงในคำสั่ง (ส้ม) ใกล้ออกคำสั่งด้วยกรัม / กรัม /บอก  sedเพื่อแทนที่กรณีข้อความทั้งหมด (แอปเปิ้ล) ที่มีข้อความใหม่ (ส้ม) ควรมีลักษณะตามตัวอย่างด้านล่าง

หมายเหตุ: หากคุณไม่ต้องการแทนที่ทุกข้อความในไฟล์ (เช่น แอปเปิลเป็นส้ม) ให้นำg ออกและเรียกใช้sed -i 's/apples/oranges/'แทน

sed -i 's/apple/orange/g'

สุดท้ายบอก  sed ว่าไฟล์ใดอยู่ในข้อความที่ต้องการเปลี่ยน ในตัวอย่างนี้ fruit.txt ในโฮมไดเร็กทอรีเป็นเป้าหมาย

Linux: แทนที่สตริงข้อความในไฟล์ [Guide]

sed -i 's/apples/oranges/g' ~/fruit.txt

กดปุ่ม  Enter เพื่อรันคำสั่งและแทนที่สตริงข้อความในไฟล์

แทนที่สตริงข้อความในไฟล์ – Perl

อีกวิธีในการแทนที่สตริงข้อความในไฟล์บน Linux คือการใช้ภาษาการเขียนโปรแกรม Perl Perl ใช้สำหรับการประมวลผลข้อความเป็นจำนวนมาก ดังนั้นจึงสามารถสลับสตริงข้อความในไฟล์ได้ตามปกติ และเหมาะอย่างยิ่งสำหรับกรณีการใช้งานนี้

ในการเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Perl บนพีซี Linux ของคุณ ระบบปฏิบัติการ Linux ส่วนใหญ่มาพร้อมกับ Perl ที่ติดตั้งไว้ อย่างไรก็ตาม หากคุณไม่มี ให้ตรวจสอบหน้าความช่วยเหลือของระบบปฏิบัติการเพื่อดูข้อมูลเกี่ยวกับวิธีการทำงาน

การใช้ Perl เพื่อแทนที่สตริงข้อความในไฟล์ต้องใช้เทอร์มินัล เปิดเทอร์มินัลบนเดสก์ท็อป Linux โดยกด  Ctrl + Alt + T บนแป้นพิมพ์ หรือค้นหา "Terminal" ในเมนูแอปแล้วเปิดใช้ด้วยวิธีนี้

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

perl -pe

เมื่อเขียน  perl -pe ในข้อความแจ้งเทอร์มินัล คุณจะต้องเริ่มต้นด้วย  เครื่องหมายอัญประกาศเครื่องหมายนี้บอก Perl ว่าพื้นที่การแทนที่ข้อความอยู่ในคำสั่งใด

perl -pe '

ต่อไปนี้เป็นครั้งแรก  เครื่องหมายคำพูดเพิ่ม  / sตามด้วยสตริงของข้อความที่คุณต้องการจะเข้ามาแทนที่และอื่น ๆ/ ตัวอย่างเช่น หากต้องการแทนที่ “apples” ในไฟล์ fruit.txt คุณจะต้องเขียนข้อความต่อไปนี้

perl -pe 's/แอปเปิ้ล/

หลังจากเขียนคำที่คุณต้องการแทนที่แล้ว ให้เพิ่มคำที่จะแทนที่ข้อความที่มีอยู่ ตัวอย่างเช่นถ้าคุณต้องการที่จะแทนที่“แอปเปิ้ล” ใน“fruit.txt” กับ“ส้ม” เพิ่มใน“ส้ม” หลังเพื่อให้ดูเหมือนว่าperl -pe 's/apples/perl -pe 's/apples/oranges/

perl -pe 's/แอปเปิ้ล/ส้ม/

เมื่อสตริงข้อความทั้งสองอยู่ในคำสั่งแล้ว คุณจะต้องระบุไฟล์อินพุตที่ Perl ใช้ ตัวอย่างเช่น หากคุณต้องการแทนที่ข้อความในไฟล์ "fruit.txt" คุณจะต้องระบุข้อความในคำสั่ง

หมายเหตุ: ในตัวอย่างนี้ ไฟล์ "fruit.txt" อยู่ในโฮมไดเร็กทอรี (~/) อย่าลืมแทนที่ “~/fruit.txt” ด้วยตำแหน่งของไฟล์ข้อความเพื่อให้คำสั่งทำงาน

perl -pe 's/apples/oranges/' ~/fruit.txt

เมื่อไฟล์อินพุต (ไฟล์ที่คุณกำลังแก้ไขด้วย Perl) ถูกเพิ่มลงในคำสั่งแล้ว คำสั่งควรมีลักษณะเหมือนด้านล่าง

Linux: แทนที่สตริงข้อความในไฟล์ [Guide]

perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt

เมื่อรันคำสั่งด้านบน สตริงข้อความจะถูกแทนที่ด้วยข้อความใหม่ที่คุณระบุ ในตัวอย่างของเรา เราแทนที่ “แอปเปิล” ด้วย “ส้ม” หากต้องการดูการเปลี่ยนแปลง ให้ป้อนคำสั่งด้านล่าง

ผลไม้แมว.txt


วิธีการติดตั้ง GitLab บน Ubuntu Server

วิธีการติดตั้ง GitLab บน Ubuntu Server

คุณต้องการให้ GitLab ทำงานบนเซิร์ฟเวอร์ Ubuntu ของคุณหรือไม่? GitLab เป็นทางเลือกที่โฮสต์ได้เองที่มีประสิทธิภาพสำหรับบริการต่างๆ เช่น GitHub ด้วยคุณสามารถ

การรักษาความปลอดภัยเซิร์ฟเวอร์ Ubuntu Linux ด้วย SELinux

การรักษาความปลอดภัยเซิร์ฟเวอร์ Ubuntu Linux ด้วย SELinux

เรียนรู้วิธีเพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ Ubuntu Linux โดยการติดตั้งและเปิดใช้งาน SELinux

กำหนดค่า NFS บนเซิร์ฟเวอร์ Linux ด้วย Cockpit

กำหนดค่า NFS บนเซิร์ฟเวอร์ Linux ด้วย Cockpit

ต้องการวิธีที่ง่ายกว่าในการเมานต์การแชร์ NFS บนเซิร์ฟเวอร์ Linux ของคุณหรือไม่ เรียนรู้วิธีเมานต์การแชร์ NFS ด้วยแอป Cockpit

วิธีอัปเกรดเป็น Ubuntu 22.04 LTS

วิธีอัปเกรดเป็น Ubuntu 22.04 LTS

การสนับสนุนระยะยาวของ Ubuntu 22.04 อยู่ที่นี่แล้ว! เรียนรู้วิธีอัปเกรดเดสก์ท็อปหรือแล็ปท็อปของคุณเป็น Ubuntu รุ่นล่าสุด

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker

วิธีถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker

ต้องการถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker ของคุณหรือไม่ ด้วยเครื่องมือ Docker cp คุณสามารถย้ายไฟล์เข้าและออกจากคอนเทนเนอร์ได้อย่างง่ายดาย

วิธีติดตั้งไฟล์ DEB บน Linux

วิธีติดตั้งไฟล์ DEB บน Linux

ไฟล์ DEB คืออะไร?? คุณจะทำอย่างไรกับมัน? เรียนรู้หลายวิธีที่คุณสามารถติดตั้งไฟล์ DEB บน Linux PC ของคุณ

วิธีทำให้ GOG Galaxy ทำงานบน Linux

วิธีทำให้ GOG Galaxy ทำงานบน Linux

คุณเป็นเจ้าของเกมบน GOG.com หรือไม่? ต้องการตั้งค่าไคลเอนต์ GOG Galaxy บนพีซี Linux ของคุณเพื่อเพลิดเพลินกับวิดีโอเกมหรือไม่? ทำตามคำแนะนำนี้ในขณะที่เราแสดง

วิธีการติดตั้ง Docker Engine บน CentOS

วิธีการติดตั้ง Docker Engine บน CentOS

Docker Engine เป็นโปรแกรมเปิดคอนเทนเนอร์สำหรับ Linux และแพลตฟอร์มอื่นๆ Docker Engine จัดการคอนเทนเนอร์ในตัวที่ทำงานคล้ายกับ

วิธีทำให้การแชททั้งหมดของคุณเป็นหนึ่งเดียวกับ Ferdi

วิธีทำให้การแชททั้งหมดของคุณเป็นหนึ่งเดียวกับ Ferdi

คุณเหนื่อยกับการติดตั้ง Slack, Discord และเครื่องมือเพิ่มประสิทธิภาพอื่น ๆ บนระบบ Linux ของคุณหรือไม่? คุณหวังว่าพวกเขาจะรวมเป็นหนึ่งเดียวได้ไหม