ບັນດາລາຍການທີ່ຕ້ອງຖືກຈັດຮຽງຕ້ອງຖືກຈໍາກັດໃນທາງໃດທາງຫນຶ່ງ
ຂໍ້ມູນໃນໄຟລ໌ ຂໍ້ຄວາມ Linux ສາມາດຖືກຈັດຮຽງດ້ວຍຄໍາສັ່ງການຈັດລຽງຕາບໃດທີ່ອົງປະກອບແຕ່ລະຈະຖືກກໍານົດໃນທາງໃດທາງຫນຶ່ງ. ເລື້ອຍໆ, ໂຄຣມໃຊ້ເປັນຕົວແຍກສໍາລັບຂໍ້ມູນທີ່ຖືກກໍານົດ.
ກົດພື້ນຖານສໍາລັບການຮຽງລໍາດັບ
ຄໍາສັ່ງຄັດລອກລາກເສັ້ນໃນແຟ້ມຂໍ້ຄວາມເພື່ອຈັດຮຽງພວກເຂົາຢ່າງລະອຽດແລະຕົວອັກສອນ. ກົດລະບຽບເລີ່ມຕົ້ນສໍາລັບຄໍາສັ່ງຄັດແມ່ນ:
- ຂໍ້ຄວາມທີ່ເລີ່ມຕົ້ນດ້ວຍເລກທີ່ປາກົດຂຶ້ນກ່ອນທີ່ຂໍ້ຄວາມທີ່ເລີ່ມຕົ້ນດ້ວຍຈົດຫມາຍ; ຕົວເລກຕ່ໍາລົງກ່ອນຫນ້າ.
- ຂໍ້ຄວາມທີ່ເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນທີ່ປາກົດຢູ່ໃນຕົວອັກສອນກ່ອນຫນ້ານັ້ນວ່າຈົດຫມາຍທໍາອິດຂອງລາຍການຂໍ້ຄວາມອື່ນໆຈະຖືກຈັດຮຽງກ່ອນທີ່ຂໍ້ຄວາມທີ່ເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນທີ່ປາກົດຂຶ້ນພາຍໃນຫນັງສື.
- ບ່ອນທີ່ ຂໍ້ຄວາມ ເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນຕົວອັກສອນແລະຕົວອັກສອນຕົວນ້ອຍຂອງຈົດຫມາຍດຽວກັນ, ຕົວຢ່າງຕົວນ້ອຍຈະຖືກຈັດຮຽງທໍາອິດ.
ຄັດລອກໄຟລ໌ຂໍ້ຄວາມ
ເພື່ອຄັດລອກເສັ້ນໃນໄຟລ໌ Linux ທີ່ຖືກກໍານົດ, ທ່ານໃຊ້ ຄໍາສັ່ງ ຄັດເຊັ່ນນີ້:
$ sort -k2 testtxtທີ່ຈັດຮຽງໄຟລ໌ "test.txt" ຕາມລັກສະນະທີ່ເລີ່ມຕົ້ນຢູ່ໃນຄໍລໍາທີສອງ (k2 ຫມາຍເຖິງຄໍລໍາທີສອງ). ສົມມຸດວ່າເນື້ອຫາຂອງໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນ:
1, Justin Timberlake, Title 545, Price $ 730 2, Taylor Swift, Title 723, Price $ 7.90 3, Mick Jagger, Title 610, Price $ 7.90 4, Lady Gaga, Title 118, Price $ 7.30 5, Johnny Cash, Title 482, Price $ 6.50 6, Elvis Presley, ຊື່ 335, ລາຄາ 7,30 $ 7, John Lennon, Title 271, ລາຄາ $ 790 8, Michael Jackson, ຊື່ 373, ລາຄາ $ 5.50ເນື່ອງຈາກວ່າຄໍລໍາທີສອງໃນຕົວຢ່າງນີ້ມີຊື່ທໍາອິດແລະນາມສະກຸນ, ຜົນຜະລິດຖືກຈັດລຽງໂດຍຈົດຫມາຍທໍາອິດຂອງຊື່ທໍາອິດຂອງແຕ່ລະຄົນໃນຄໍລໍາທີສອງ - Elvis, John, Johnny, Justin, Lady, Michael, Mick, ແລະ Taylor , ດັ່ງທີ່ສະແດງໄວ້ຂ້າງລຸ່ມນີ້:
6, Elvis Presley, Title 335, Price $ 630 7, John Lennon, Title 271, Price $ 7.90 5, Johnny Cash, Title 482, Price $ 6.50 1, Justin Timberlake, Title 545, Price $ 6.30 4, Lady Gaga, Title 118, Price $ 6.30 8, Michael Jackson, Title 373, $ 5.50 3, Mick Jagger, ຊື່ 610, ລາຄາ $ 7.90 2, Taylor Swift, ຊື່ 723, ລາຄາ $ 7.90ຖ້າທ່ານຄັດລອກໄຟລ໌ທີ່ມີ -k3 (ນໍາໃຊ້ເນື້ອໃນຂອງເສັ້ນທີ່ເລີ່ມຢູ່ໃນຄໍລໍາ 3, ຄໍລໍາເລກຫົວຂໍ້), ຜົນຜະລິດແມ່ນ:
4, Lady Gaga, Title 118, Price $ 630 7, John Lennon, Title 271, Price $ 7.90 6, Elvis Presley, Title 335, Price $ 6.30 8, Michael Jackson, Title 373, Price $ 5.50 5, Johnny Cash, Title 482, Price $ 6.50 Justin Timberlake, Title 545, Price $ 630 3, Mick Jagger, Title 610, Price $ 790 2, Taylor Swift, Title 723, Price $ 790ແລະ
$ sort -k4 testtxtຜະລິດລາຍະການຕາມລໍາດັບລາຄາ:
8, Michael Jackson, Title 373, Price $ 5.50 1, Justin Timberlake, Title 545, Price $ 630 4, Lady Gaga, Title 118, Price $ 630 6, Elvis Presley, Title 335, Price $ 630 5, Johnny Cash, Title 482, Price $ 650 2, Taylor Swift, ຊື່ 723, ລາຄາ 7,90 $ 3, Mick Jagger, ຊື່ 610, ລາຄາ 7,90 ໂດລາ 7, John Lennon, Title 271, ລາຄາ $ 7,90Reversing a Sort
ຕົວເລືອກ -r ເຮັດໃຫ້ການຄັດລອກ. ຕົວຢ່າງ, ການນໍາໃຊ້ຜົນໄດ້ຮັບຂ້າງເທິງ:
$ sort -k4 -r testtxtຜົນຜະລິດ:
7, John Lennon, Title 271, Price $ 790 3, Mick Jagger, Title 610, Price $ 790 2, Taylor Swift, Title 723, Price $ 790 5, Johnny Cash, Title 482, Price $ 650 6, Elvis Presley, Title 335, Price $ 630 4, Lady Gaga, ຊື່ 118, ລາຄາ $ 630 1, Justin Timberlake, ຊື່ 545, ລາຄາ 6,30 $, Michael Jackson, ຫົວຂໍ້ 373, ລາຄາ $ 5.50ການບັນທຶກເອກະສານທີ່ຄັດແຍກ
ການຄັດແຍກໄຟລ໌ບໍ່ໄດ້ບັນທຶກມັນ. ເພື່ອບັນທຶກລາຍຊື່ທີ່ຖືກຄັດລອກໄວ້ໃນໄຟລ໌, ທ່ານໃຊ້ຕົວແທນທີ່ປ່ຽນເສັ້ນທາງ:
sort -k4 -r testtxt> test_newtxtບ່ອນທີ່ "test_new.txt" ແມ່ນໄຟລ໌ໃຫມ່.
ການຮຽງລໍາດັບຜົນຜະລິດນ້ໍາອອກ
ນອກນັ້ນທ່ານຍັງສາມາດນໍາໃຊ້ຄໍາສັ່ງຄັດກັບຜົນຜະລິດຂອງສາຍເຊັ່ນ: ຜູ້ປະຕິບັດງານທໍ່:
$ ls -al | sort -r-n -k5ນີ້ຄັດເອົາຜະລິດຕະພັນຂອງລາຍຊື່ໄຟລ໌ທີ່ສ້າງໂດຍຄໍາສັ່ງ ls ໂດຍຂະຫນາດໄຟລ໌, ເລີ່ມຕົ້ນດ້ວຍໄຟລ໌ທີ່ໃຫຍ່ທີ່ສຸດ. ຕົວປະກັນ -n ກໍານົດການຄັດເລືອກຈໍານວນຫລາຍແທນທີ່ຈະເປັນອັກຂະລະ.