Bash:
การเขียนไฟล์ข้อความ
วิธีการ:
Bash มีวิธีการที่ตรงไปตรงมาสำหรับการเขียนไฟล์ เทคนิคที่พบบ่อยที่สุดคือการใช้ operator สำหรับการเปลี่ยนทางการไหลของข้อมูล (>
, >>
) และคำสั่ง tee
นี่เป็นการดูวิธีการทั้งสองอย่างอย่างรวดเร็ว
การใช้การเปลี่ยนทาง, คุณสามารถเขียนผลลัพธ์เข้าไฟล์โดยตรง โอเปอเรเตอร์ >
เขียนเนื้อหาลงไฟล์, ทำการแทนที่หากไฟล์นั้นมีอยู่แล้ว ขณะที่ >>
เพิ่มเนื้อหาลงไฟล์ที่มีอยู่โดยไม่ลบเนื้อหาออก
# เขียนไฟล์ด้วย >
echo "Hello, World!" > myfile.txt
# เพิ่มเนื้อหาไฟล์ด้วย >>
echo "This is a new line." >> myfile.txt
หากคุณตรวจสอบเนื้อหาของ myfile.txt
หลังจากรันคำสั่งข้างต้น คุณจะพบ:
Hello, World!
This is a new line.
คำสั่ง tee
เป็นตัวเลือกที่ดีเมื่อคุณต้องการเขียนลงไฟล์และดูผลลัพธ์บนหน้าจอ (stdout) ในเวลาเดียวกัน โดยเริ่มต้น, tee
จะเขียนทับไฟล์ แต่ด้วยธง -a
, มันจะเพิ่มเนื้อหาลงไฟล์
# เขียนและแสดงผลลัพธ์ใช้ tee
echo "Hello, again!" | tee myfile.txt
# เพิ่มเนื้อหาและแสดงผลใช้ tee -a
echo "Adding another line." | tee -a myfile.txt
หลังจากรันคำสั่งเหล่านี้ myfile.txt
จะแสดง:
Hello, again!
Adding another line.
ในขณะที่ Bash เองมีความสามารถในการจัดการไฟล์ที่แข็งแกร่งผ่านการเปลี่ยนทางและคำสั่งเช่น tee
, การจัดการข้อมูลที่ซับซ้อนขึ้นหรือสถานการณ์ที่ซับซ้อนกว่าอาจต้องการเรียกใช้เครื่องมือภายนอกหรือภาษาสคริปต์ (เช่น Awk, Sed, Python) ที่มีฟังก์ชันการประมวลผลข้อความที่ซับซ้อนยิ่งขึ้น อย่างไรก็ตาม, สำหรับงานเขียนไฟล์ที่ตรงไปตรงมาที่สุด, วิธีการข้างต้นเป็นเพียงพอและถูกใช้กันอย่างแพร่หลาย