เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | เนื้อหา | ถัดไป>

การอ่านไฟล์ด้วยลูป

ในขณะที่และจนสามารถประมวลผลอินพุตมาตรฐานได้ ซึ่งช่วยให้สามารถประมวลผลไฟล์ด้วย while และ until loops ในตัวอย่างต่อไปนี้ เราจะแสดงเนื้อหาของไฟล์ distros.txt ที่ใช้ในบทก่อนหน้า:


#! / bin / ทุบตี

# while-read: อ่านบรรทัดจากไฟล์ขณะอ่าน distro version release; ทำ

printf "Distro: %s\tเวอร์ชัน: %s\tเผยแพร่: %s\n" \

$ distro \

$รุ่น \

$ปล่อยเสร็จแล้ว < distros.txt

#! / bin / ทุบตี

# while-read: อ่านบรรทัดจากไฟล์ขณะอ่าน distro version release; ทำ

printf "Distro: %s\tเวอร์ชัน: %s\tเผยแพร่: %s\n" \

$ distro \

$รุ่น \

$ปล่อยเสร็จแล้ว < distros.txt


ในการเปลี่ยนเส้นทางไฟล์ไปยังลูป เราวางโอเปอเรเตอร์การเปลี่ยนเส้นทางหลัง ทำ คำแถลง. ลูปจะใช้ อ่าน เพื่อป้อนฟิลด์จากไฟล์ที่เปลี่ยนเส้นทาง NS อ่าน คำสั่งจะออกหลังจากอ่านแต่ละบรรทัด โดยมีสถานะการออกเป็นศูนย์จนกว่าจะถึงจุดสิ้นสุดไฟล์ เมื่อถึงจุดนั้น มันจะออกด้วยสถานะการออกที่ไม่ใช่ศูนย์ ดังนั้นจึงเป็นการสิ้นสุดการวนซ้ำ นอกจากนี้ยังสามารถไพพ์อินพุตมาตรฐานเป็นลูปได้:



#! / bin / ทุบตี


# while-read2: อ่านบรรทัดจากไฟล์

sort -k 1,1 -k 2n distros.txt | ในขณะที่อ่านรุ่น distro; do printf "Distro: %s\tVersion: %s\tReleased: %s\n" \

$ distro \

$รุ่น \

$ปล่อย

ทำ

#! / bin / ทุบตี


# while-read2: อ่านบรรทัดจากไฟล์

sort -k 1,1 -k 2n distros.txt | ในขณะที่อ่านรุ่น distro; do printf "Distro: %s\tVersion: %s\tReleased: %s\n" \

$ distro \

$รุ่น \

$ปล่อย

ทำ


ที่นี่เราใช้ผลลัพธ์ของ ประเภท คำสั่งและแสดงกระแสข้อความ อย่างไรก็ตาม สิ่งสำคัญที่ต้องจำไว้คือ เนื่องจากไพพ์จะดำเนินการลูปในเชลล์ย่อย ตัวแปรใดๆ ที่สร้างหรือกำหนดภายในลูปจะหายไปเมื่อลูปสิ้นสุด


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: