6 วิธีค้นหาและแทนที่ข้อความในเทอร์มินัล Linux
คุณรู้สึกเบื่อไหมที่จะมานั่งแก้ไขไฟล์ด้วยตนเองในเทอร์มินัลของ Linux? วันนี้เรามีเทคนิคเด็ด ๆ ที่จะทำให้ชีวิตคุณง่ายขึ้น โดยใช้เครื่องมือต่าง ๆ เช่น sed, awk, และ Vim ในการค้นหาและแทนที่ข้อความอย่างรวดเร็ว
1. ใช้คำสั่ง sed
sed เป็นเครื่องมือที่ทำให้คุณสามารถเปลี่ยนแปลงข้อความในไฟล์ได้อย่างรวดเร็ว ลองคิดว่ามีไฟล์ชื่อ example.txt ที่มีคำว่า “Linux” และคุณต้องการเปลี่ยนมันเป็น “Windows” โดยใช้คำสั่ง:
sed 's/Linux/Windows/g' example.txt
คำสั่งนี้จะแสดงผลลัพธ์ที่เปลี่ยนแปลงแล้วในเทอร์มินัล แต่ถ้าคุณต้องการบันทึกลงในไฟล์เดิมโดยตรง ใช้ตัวเลือก -i:
sed -i 's/Linux/Windows/g' example.txt
การใช้ sed เหมาะสำหรับการจัดการกับไฟล์ขนาดใหญ่ที่มีเนื้อหาเดิมซ้ำกัน และคุณยังสามารถเปลี่ยนเครื่องหมายแบ่งได้เช่นการใช้ @ แทนที่ / เพื่อความสะดวกในการอ่าน
2. การใช้คำสั่ง awk
awk เหมาะสำหรับการจัดการข้อมูลที่มีโครงสร้าง โดยเฉพาะกับไฟล์ CSV ที่ต้องการคำนวณค่าในฟิลด์เฉพาะ คำสั่งตัวอย่าง:
awk '{gsub(/Windows/, "Linux"); print}' file.txt > new_file.txt
awk ไม่ได้แก้ไขไฟล์เดิมโดยตรง ดังนั้นเราต้องเปลี่ยนเส้นทางผลลัพธ์ไปยังไฟล์ใหม่ ปกติแล้วผมใช้ awk เพื่อจัดการกับข้อมูลจากสเปรดชีตที่มีการจัดรูปแบบเกินจำเป็น
3. การแทนที่ข้อความด้วย Vim Ex Mode
Vim เป็นโปรแกรมแก้ไขไฟล์ข้อความที่มีโหมด Ex คุณสามารถเปิดไฟล์ด้วย Vim และใช้คำสั่ง:
vim filename.txt
แล้วใช้คำสั่ง find-and-replace:
:%s/macOS/Linux/g
นี่คือวิธีที่สะดวกถ้าคุณต้องการทำการเปลี่ยนแปลงอย่างรวดเร็วโดยไม่ต้องใช้โปรแกรมแก้ไขแบบเต็มหน้าจอ
4. ใช้ Bash Script
บางครั้งคุณอาจต้องทำการค้นหาและแทนที่หลาย ๆ ไฟล์ หรือทำงานนี้ในหลาย ๆ โฟลเดอร์ ด้วย Bash Script คุณสามารถอัตโนมัติการทำงานเหล่านี้:
#!/bin/bash for file in *.txt; do sed -i 's/Windows/Linux/g' "$file" done
สคริปต์นี้จะวนซ้ำเพื่อปรับปรุงไฟล์ข้อความในไดเรกทอรีปัจจุบัน
5. การแทนที่ตัวอักษรด้วย tr Command
สำหรับการแทนที่ตัวอักษรเพียงตัวเดียว tr command เป็นตัวเลือกที่เหมาะสม เช่น เพื่อเปลี่ยนตัวพิมพ์เล็กเป็นพิมพ์ใหญ่:
tr 'a,d' 'A,D' < example.txt
tr เหมาะสำหรับการจัดการการแทนที่ตัวอักษรที่มีความซับซ้อนไม่มาก
6. การใช้ perl
perl เป็นภาษาระดับสูงที่สามารถใช้ในเทอร์มินัลเพื่อค้นหาและแทนที่ข้อความ ทำให้ง่ายต่อการจัดการงานที่ซับซ้อนกว่า เช่น:
perl -pi -e 's/Linux/Windows/g' file.txt
ด้วยคำสั่งนี้ คุณสามารถแก้ไขไฟล์ในสถานที่โดยตรง perl เสนอคุณสมบัติขั้นสูงที่ทำให้เหมาะกับการใช้งานที่ซับซ้อน
บทสรุป
ไม่ว่าจะเป็น sed, awk, หรือ vim หรือแม้กระทั่งการเขียนสคริปต์ใน Bash หรือ Python สามารถช่วยให้การจัดการข้อความในเทอร์มินัลของคุณง่ายขึ้น อย่างไรก็ตามควรเลือกเครื่องมือที่เหมาะกับงานที่ต้องทำ เช่น sed, awk, หรือ perl สำหรับการเปลี่ยนแปลงง่าย ๆ หรือใช้สคริปต์สำหรับงานที่ซับซ้อนขึ้น
จริง ๆ แล้ว การรู้เทคนิคเหล่านี้จะทำให้คุณดูเป็นผู้เชี่ยวชาญเจ๋ง ๆ เลยล่ะ!
“ค้นพบความสนุกกับ sa gaming ที่รวมเกมคาสิโนคุณภาพไว้มากมาย ทั้งสะดวกและรวดเร็ว”
“สนใจเดิมพันออนไลน์? ลองเข้าเล่นกับ ufabet ที่มีเกมหลากหลายและบริการลูกค้าระดับพรีเมียม”
“พบกับประสบการณ์ใหม่ที่ gclub คาสิโนออนไลน์ที่ปลอดภัยและได้รับความนิยมมากที่สุดในไทย”
“เล่น ไฮโลไทย แบบออนไลน์ สนุกกับเกมพื้นบ้านที่ได้รับความนิยมสูงสุดในประเทศไทย”
“ต้องการเครดิตฟรีเล่นสล็อต? เข้าไปที่ สล็อต168เครดิตฟรี.com เว็บที่มีโปรโมชั่นเด็ดและเกมให้เลือกเล่นหลากหลาย”
แหล่งที่มา:https://www.howtogeek.com/ways-to-find-and-replace-text-in-the-linux-terminal/