Linux มียูทิลิตีหลายอย่างที่คุณสามารถใช้เพื่อประมวลผลไฟล์ข้อความ ไม่ว่าคุณจะต้องการลบข้อมูลที่ซ้ำกันหรือจัดเรียงเนื้อหาภายในไฟล์ เครื่องมือบรรทัดคำสั่งของ Linux มีทุกสิ่งที่คุณต้องการ
บทความนี้จะสาธิตคำสั่ง sort และวิธีที่คุณสามารถใช้คำสั่ง sort เพื่อจัดเรียงเนื้อหาภายในไฟล์ข้อความและจัดเรียงตามลำดับ
คำสั่ง sort คืออะไร?
ดังที่กล่าวไว้ข้างต้น คำสั่ง sort ช่วยผู้ใช้ในการจัดเรียงเนื้อหาของไฟล์ข้อความในลำดับเฉพาะ มีตัวเลือกมากมายให้คุณจัดเรียงไฟล์ได้ตามที่คุณต้องการ เป็นโปรแกรม Linux มาตรฐานที่สามารถจัดเรียงไฟล์ข้อความตามตัวอักษร ตัวเลข ตามคอลัมน์ และอื่นๆ ในลำดับปกติหรือย้อนกลับ
ฟังก์ชันอื่นๆ ของคำสั่งรวมถึงการละเว้นตัวพิมพ์เล็กและใหญ่ขณะเรียงลำดับ การเรียงลำดับไฟล์ตามเดือน การละเว้นช่องว่างในไฟล์ และการเรียงลำดับแบบสุ่ม การใช้ sort คุณยังสามารถตรวจสอบว่าไฟล์ได้รับการจัดเรียงแล้วหรือไม่
วิธีใช้ sort ใน Linux
แม้ว่า sort จะมีวิธีการและแฟล็กต่างๆ ที่คุณสามารถใช้ได้ แต่ก็ยังง่ายต่อการเรียนรู้
ไวยากรณ์พื้นฐาน
ไวยากรณ์พื้นฐานของการใช้ sort คือ:
sort filename
...ที่ไหน ชื่อไฟล์ เป็นพาธสัมบูรณ์หรือแบบสัมพัทธ์ของไฟล์ข้อความที่คุณต้องการจัดเรียง
โดยค่าเริ่มต้น sort จะจัดเรียงเนื้อหาตามเกณฑ์ต่อไปนี้:
- บรรทัดที่ขึ้นต้นด้วยอักขระตัวเลขจะมีลำดับความสำคัญสูงสุด
- คำสั่งจะเรียงลำดับบรรทัดตามลำดับตัวอักษร หลังจากเรียงลำดับบรรทัดที่ขึ้นต้นด้วยตัวเลข
- บรรทัดที่ขึ้นต้นด้วยอักขระตัวพิมพ์เล็กจะอยู่ก่อนบรรทัดที่ขึ้นต้นด้วยอักขระตัวเดียวกันที่เป็นตัวพิมพ์ใหญ่
พิจารณาไฟล์ข้อความชื่อ textfile.txt ซึ่งมีข้อมูลดังต่อไปนี้:
ในการจัดเรียงไฟล์โดยใช้การกำหนดค่าเริ่มต้น:
sort textfile.txt
เอาท์พุท:
สร้างไฟล์เอาต์พุตใหม่
คำสั่ง sort จะไม่แก้ไขเนื้อหาของไฟล์ เพียงแค่ส่งเนื้อหาที่จัดเรียงไปยังเอาต์พุตมาตรฐาน อย่างไรก็ตาม นี่ไม่ได้หมายความว่าการเรียงลำดับนั้นไม่สามารถสร้างไฟล์ใหม่ได้ คุณสามารถใช้ -หรือ ตั้งค่าสถานะเพื่อระบุชื่อไฟล์ที่เรียงลำดับแล้ว sort จะสร้างไฟล์ให้คุณโดยอัตโนมัติและเพิ่มเนื้อหา
หยุดรหัสดักจับโหมดเคอร์เนลที่ไม่คาดคิด
sort -o sortedfile filename
...ที่ไหน sortedfile เป็นชื่อของไฟล์ที่ส่งออกและ ชื่อไฟล์ เป็นไฟล์ต้นฉบับที่ต้องการการเรียงลำดับ
ในการเรียงลำดับ textfile.txt และสร้างไฟล์เอาต์พุตใหม่สำหรับเนื้อหา:
sort -o sorted.txt textfile.txt
เอาท์พุท:
เรียงไฟล์หลายไฟล์
ในการจัดเรียงไฟล์มากกว่าหนึ่งไฟล์พร้อมกัน เพียงแค่ส่งชื่อไฟล์ที่คั่นด้วยเครื่องหมาย ช่องว่าง อักขระ.
sort textfile.txt textfile2.txt
เอาท์พุท:
โปรดทราบว่าการเรียงลำดับจะรวมเอาท์พุตของไฟล์และแสดงเข้าด้วยกันในเทอร์มินัล
ย้อนกลับ จัดเรียงไฟล์
หากคุณต้องการย้อนกลับการจัดเรียงเนื้อหา ให้ใช้ปุ่ม -NS ตั้งค่าสถานะด้วยคำสั่งเริ่มต้น NS -NS ในคำสั่งต่อไปนี้ย่อมาจาก ย้อนกลับ .
sort -r textfile.txt
เอาท์พุท:
จัดเรียงไฟล์ตามตัวเลข
ในการจัดเรียงไฟล์ที่มีข้อมูลตัวเลข ให้ใช้ปุ่ม -NS ตั้งค่าสถานะด้วยคำสั่ง โดยค่าเริ่มต้น sort จะจัดเรียงข้อมูลตามลำดับจากน้อยไปมาก
sort -n numbers.txt
เอาท์พุท:
หากคุณต้องการเรียงลำดับจากมากไปหาน้อย ให้กลับการจัดเรียงโดยใช้ -NS ตัวเลือกพร้อมกับ -NS ตั้งค่าสถานะในคำสั่ง
sort -rn numbers.txt
เอาท์พุท:
ละเว้นขนาดตัวพิมพ์ขณะจัดเรียง
โดยค่าเริ่มต้น sort จะพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ของเนื้อหา บรรทัดที่ขึ้นต้นด้วยอักขระตัวพิมพ์เล็กนำหน้าบรรทัดที่ขึ้นต้นด้วยอักขระตัวเดียวกันในเวอร์ชันตัวพิมพ์ใหญ่ ตัวอย่างเช่น 'he is a boy' จะนำหน้า 'He is a boy'
หากคุณต้องการ sort เพื่อละเว้นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ให้ระบุ -NS หรือ --ignore-case ธงดังต่อไปนี้:
sort -f textfile.txt
sort --ignore-case textfile.txt
เอาท์พุท:
จัดเรียงไฟล์ตามเดือน
ใช้ -NS ธง คุณสามารถแก้ไขลำดับเนื้อหาของไฟล์ตามชื่อเดือน
sort -M textfile2.txt
เอาท์พุท:
ละเว้นช่องว่างชั้นนำ
บางครั้ง ไฟล์ที่คุณต้องการจัดเรียงอาจมีช่องว่างหรือแท็บ หากต้องการละเว้นอักขระว่างดังกล่าว ให้ใช้ -NS ธง.
sort -b fileblanks.txt
เอาท์พุท:
จัดเรียงไฟล์ตามคอลัมน์
หากคุณมีไฟล์ข้อความที่มีข้อมูลที่จัดเรียงในคอลัมน์แยกกัน คุณสามารถจัดเรียงไฟล์ตามเนื้อหาของคอลัมน์ได้ สิ่งที่คุณต้องทำคือส่งหมายเลขคอลัมน์พร้อมกับ -ถึง ธง.
พิจารณาไฟล์ข้อความที่มีข้อมูลไฟล์ที่มีคอลัมน์ต่างกัน ในการจัดเรียงไฟล์ชื่อ output.txt ตามคอลัมน์ที่แปด:
ไม่สามารถติดตั้ง mac os ให้เสร็จสิ้นได้
sort -k8 -rn output.txt
เอาท์พุท:
จัดเรียงท่อด้วยคำสั่งอื่น
คุณยังสามารถใช้ sort กับคำสั่ง Linux อื่น ๆ เพื่อแก้ไขการจัดเรียงเอาต์พุต ตัวอย่างเช่น ในการเรียงลำดับผลลัพธ์ของ คำสั่ง ls ตามขนาดของไฟล์:
ls -la | sort -k5 -rn
เอาท์พุท:
จัดเรียงไฟล์แบบสุ่ม
คุณสามารถใช้ -NS ตั้งค่าสถานะหากคุณต้องการสุ่มลำดับของบรรทัดในไฟล์ข้อความ พิจารณาไฟล์ textfile.txt :
sort -R textfile.txt
เอาท์พุท:
จัดเรียงหมายเลขเวอร์ชันในไฟล์
หากคุณมีไฟล์ข้อความที่มีข้อมูลเวอร์ชันที่เชื่อมโยงกับแพ็คเกจ คุณสามารถจัดเรียงเนื้อหาโดยใช้คำสั่ง -V หรือ --version-sort ธง.
วิธีทำบูต dvd
sort -V version.txt
sort --version-sort version.txt
เอาท์พุท:
ตรวจสอบว่ามีการจัดเรียงไฟล์หรือไม่
NS -ค แฟล็กจะช่วยคุณในการระบุไฟล์ที่จัดเรียงแล้วตามตัวเลือกที่ระบุ หากเนื้อหาของไฟล์ได้รับการจัดเรียงอย่างเหมาะสม การเรียงลำดับจะไม่แสดงผลลัพธ์ใดๆ
เพื่อตรวจสอบว่าไฟล์ textfile.txt ถูกจัดเรียง:
sort -c textfile.txt
ตอนนี้ มาจัดเรียงไฟล์และบันทึกผลลัพธ์เป็นไฟล์ใหม่ชื่อ sorted.txt . ในการออกคำสั่งต่อไปนี้:
sort -c sorted.txt
เอาท์พุท:
คุณยังสามารถระบุแฟล็กต่างๆ เพื่อตรวจสอบการจัดเรียงไฟล์ตามเกณฑ์เฉพาะ เช่น ตรวจสอบว่าไฟล์ ตัวเลข.txt ถูกเรียงลำดับจากมากไปน้อย:
sort -c -rn numbers.txt
คุณจะเห็นผลลัพธ์ที่ระบุว่าไฟล์ไม่ได้รับการจัดเรียงอย่างถูกต้อง มาจัดเรียงไฟล์และตรวจสอบว่าไฟล์ใหม่ผ่านการทดสอบหรือไม่
sort -o sorted.txt -rn numbers.txt
sort -c -rn sorted.txt
เอาท์พุท:
จัดเรียงไฟล์และลบรายการที่ซ้ำกัน
ไฟล์ที่คุณกำลังทำงานด้วยอาจมีข้อมูลที่ซ้ำกัน แม้ว่าคุณสามารถใช้ คำสั่ง uniq หากต้องการลบข้อมูลดังกล่าวออกจากไฟล์ sort สามารถดำเนินการนี้ให้กับคุณได้ NS -ยู หรือ --มีเอกลักษณ์ ธงคือสิ่งที่คุณต้องการ
พิจารณาไฟล์ชื่อ ซ้ำ.txt :
ในการจัดเรียงไฟล์และลบข้อมูลที่ซ้ำกัน:
sort -u duplicate.txt
เอาท์พุท:
คุณจะเห็นได้ว่าเมื่อคุณใช้ -ยู แฟล็ก sort แสดงเฉพาะบรรทัดที่แตกต่างกันและจัดเรียงตามเกณฑ์ที่ระบุ
การทำงานกับไฟล์ข้อความใน Linux
แม้ว่าพลังของโปรแกรมแก้ไขข้อความบรรทัดคำสั่งจะไม่ตรงกัน คุณยังสามารถเลือกใช้โปรแกรมแก้ไขกราฟิก เช่น gedit เพื่อแก้ไขเนื้อหาของไฟล์ข้อความได้อย่างง่ายดาย นอกจากนี้ยังเป็นตัวเลือกที่ดีกว่าสำหรับผู้ที่เพิ่งเริ่มใช้ Linux และไม่สามารถจัดการกับเทอร์มินัลได้
วิธีที่ดีที่สุดในการเริ่มต้นด้วยบรรทัดคำสั่งและโดยทั่วไป Linux คือการฝึกคำสั่งพื้นฐานก่อน หลังจากครอบคลุมยูทิลิตี้พื้นฐานแล้ว การค่อยๆ ก้าวไปสู่คำสั่งที่ซับซ้อนมากขึ้นน่าจะเป็นแนวทางที่ดีที่สุด
แบ่งปัน แบ่งปัน ทวีต อีเมล แผ่นโกงการอ้างอิงคำสั่ง Linuxเอกสารสรุปง่ายๆ นี้จะช่วยให้คุณคุ้นเคยกับเทอร์มินัลบรรทัดคำสั่งของ Linux ในเวลาไม่นาน
อ่านต่อไป หัวข้อที่เกี่ยวข้อง- ลินุกซ์
- การจัดการไฟล์
- ลินุกซ์
- คำสั่งลินุกซ์
Deepesh เป็นบรรณาธิการรุ่นเยาว์สำหรับ Linux ที่ MUO เขาเขียนคู่มือข้อมูลบน Linux โดยมุ่งหวังที่จะมอบประสบการณ์อันแสนสุขแก่ผู้มาใหม่ทุกคน ไม่แน่ใจเกี่ยวกับภาพยนตร์ แต่ถ้าคุณต้องการพูดคุยเกี่ยวกับเทคโนโลยี เขาเป็นคนของคุณ ในเวลาว่าง คุณจะพบว่าเขาอ่านหนังสือ ฟังเพลงแนวต่างๆ หรือเล่นกีตาร์
เพิ่มเติมจาก Deepesh Sharmaสมัครรับจดหมายข่าวของเรา
เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!
คลิกที่นี่เพื่อสมัครสมาชิก