มีหลายวิธีในการอ่านและเขียนไฟล์ในทุบตี วิธีที่ง่ายที่สุดคือการใช้ตัวดำเนินการ > และ >>
- > ตัวดำเนินการจะเขียนทับข้อมูลที่มีอยู่
- >> โอเปอเรเตอร์จะต่อท้าย data
รูปแบบทั่วไปของการใช้ตัวดำเนินการเปลี่ยนเส้นทางคือ:
ข้อมูล > ชื่อไฟล์
ข้อมูล >> ชื่อไฟล์
มาทำความเข้าใจกับขั้นตอนการเขียนไฟล์ด้วยตัวอย่าง:
วิธีเขียนไฟล์โดยใช้ตัวดำเนินการเปลี่ยนเส้นทาง
ตามที่กล่าวไว้ข้างต้น วิธีการที่ง่ายและตรงไปตรงมาในการเขียนไปยังไฟล์คือการใช้ตัวดำเนินการเปลี่ยนเส้นทาง ตัวอย่างเช่น หากคุณต้องการเปลี่ยนข้อความของไฟล์ที่มีอยู่แล้ว ก่อนอื่นให้สร้างไฟล์ข้อความโดยใช้ชื่อ testfile.txt และเขียนอะไรก็ได้ในนั้น:
บันทึกไฟล์ข้อความ
พิมพ์คำสั่งด้านล่างในเทอร์มินัล:
$ echo เขียนทับข้อความที่มีอยู่ในไฟล์ > testfile.txt
การบิดเกินอาจมีความเสี่ยง ดังนั้นจึงเป็นการดีที่จะเปิดใช้งาน noclobber การตั้งค่า noclobber จะบล็อกการเขียนทับไปยังไฟล์ที่ออก
$ set –o noclobber$ echo เขียนทับข้อความที่มีอยู่ในไฟล์ > testfile.txt
แต่ถ้าคุณต้องการเลี่ยงผ่าน noclobber ให้ใช้ the > | โอเปอเรเตอร์แทน > :
$ echo เขียนทับข้อความที่มีอยู่ในไฟล์ >| testfile.txtหรือคุณสามารถปิดการใช้งาน noclobber:
$ set + หรือ noclobber
แต่คำสั่งนี้จะตัดการป้องกันจากไฟล์ทั้งหมด
ผลลัพธ์ข้างต้นแสดงว่าข้อความที่มีอยู่ถูกเขียนทับแล้ว ตอนนี้ ลองใช้ >> โอเปอเรเตอร์:
$ echo ต่อข้อความไปยังไฟล์ข้อความที่มีอยู่ >> testfile.txt
โยนออก ไม่เหมาะที่จะใช้เสมอ เนื่องจากคุณไม่สามารถจัดรูปแบบข้อความโดยใช้มัน ดังนั้นให้ใช้ printf แทน echo เพื่อจัดรูปแบบข้อความตามที่แสดงในคำสั่งต่อไปนี้:
$ printf ยินดีต้อนรับ นี่คือไฟล์ข้อความใหม่ > newtestfile.txt
มาทำความเข้าใจแนวคิดด้วยตัวอย่างสคริปต์ทุบตีกัน เปิด Vim โดยพิมพ์ vim ในเทอร์มินัล หากคุณไม่มีโปรแกรมแก้ไข Vim บนอุปกรณ์ ให้ติดตั้งโดยใช้:
$ sudo apt ติดตั้ง vimพิมพ์สคริปต์:
#! /bin/bashecho ใส่ชื่อของคุณ
อ่านชื่อ
echo $name > data_dir.txt
echo ป้อนอายุของคุณ
อ่านอายุ
echo $age >> data_dir.txt
cat data_dir.txt
NS แมว คำสั่งใช้สร้างและแก้ไขไฟล์ บันทึกสคริปต์ด้านบนใน Vim โดยเปลี่ยนโหมดหลังจากกด NS คีย์แล้วพิมพ์ : ใน myscript.sh . เปิดเทอร์มินัลแล้วรันรหัส:
วิธีเขียนไฟล์โดยใช้ Heredoc
หากคุณต้องการเขียนหลายบรรทัด วิธีที่ง่ายที่สุดคือการใช้ Heredoc เอกสารที่นี่หรือที่เรียกว่า Heredoc คือบล็อกรหัสอเนกประสงค์ ไวยากรณ์ของ Heredoc คือ:
สั่งการ<<[-] Delimiter.
ข้อความ/คำสั่ง
.
ตัวคั่น
สามารถใช้สตริงใดก็ได้แทนตัวคั่น และสามารถใช้ - เพื่อลบช่องว่างแท็บในไฟล์ มาทำความเข้าใจโดยใช้ตัวอย่างง่ายๆ:
#! /bin/bashแมว<< TEXTFILE
นี่คือไฟล์ข้อความ
ไฟล์นี้สร้างโดยใช้ heredoc
TEXTFILE
คำสั่ง cat สคริปต์ด้านบนสร้างไฟล์ข้อความโดยใช้ชื่อ TEXTFILE และเขียนข้อความลงในไฟล์ที่เพิ่งสร้างขึ้น ตอนนี้บันทึกไฟล์โดยใช้ชื่อ myscript.sh . เปิดเทอร์มินัลและเรียกใช้สคริปต์
วิธีเขียนไฟล์โดยใช้คำสั่ง Tee
อีกวิธีในการเขียนไฟล์คือการใช้คำสั่ง Tee ตามชื่อที่ระบุคำสั่งนี้รับอินพุตและเขียนไปยังไฟล์และแสดงเอาต์พุตพร้อมกัน โดยค่าเริ่มต้น คำสั่ง Tee จะเขียนทับข้อมูลที่มีอยู่
$ echo นี่คือข้อความบางส่วน | ที textfile.txt
หากต้องการผนวกการใช้ –a:
$ echo นี่คือข้อความอื่น | tee –a textfile.txt
หากต้องการเขียนหลายบรรทัด ให้ใช้:
$ echo การเพิ่มข้อความลงในหลายไฟล์ | ที textfile1.txt textfile2.txt textfile3.txt
คำสั่งดังกล่าวจะสร้างไฟล์สามไฟล์หากไม่มีอยู่และเขียนข้อความไปยังแต่ละไฟล์
บทสรุป
คู่มือนี้เน้นที่วิธีการหลายวิธีในการเขียนไฟล์ใน bash พร้อมตัวอย่าง ในการเขียนสคริปต์ทุบตี มีหลายวิธีในการเขียนไฟล์ แต่วิธีที่ง่ายที่สุดคือการใช้โอเปอเรเตอร์การเปลี่ยนเส้นทาง >, >> ในการเขียนหลายบรรทัด สามารถใช้ heredoc และหากคุณต้องการเขียนข้อมูลเดียวกันไปยังหลายบรรทัด คำสั่ง tee ก็ค่อนข้างสะดวก