14 ຕົວຢ່າງທີ່ເປັນປະໂຫຍດຂອງ Linux sort Command - ພາກທີ 1


Sort ແມ່ນໂປແກຼມ Linux ທີ່ໃຊ້ ສຳ ລັບການພິມເສັ້ນຂອງໄຟລ໌ຂໍ້ຄວາມປ້ອນຂໍ້ມູນແລະການສະຫຼຸບເອກະສານທັງ ໝົດ ຕາມ ລຳ ດັບ. ການຈັດລຽງ ຄຳ ສັ່ງໃຊ້ເວລາຫວ່າງເປັນເຄື່ອງແຍກພາກສະ ໜາມ ແລະເອກະສານຂາເຂົ້າທັງ ໝົດ ເປັນປຸ່ມຄັດ. ມັນເປັນສິ່ງ ສຳ ຄັນທີ່ຈະສັງເກດເຫັນວ່າ ຄຳ ສັ່ງທີ່ຈັດຮຽງບໍ່ໄດ້ຈັດຮຽງເອກະສານຕົວຈິງແຕ່ພຽງແຕ່ພິມຜົນຜະລິດທີ່ຈັດຮຽງ, ຈົນກວ່າທ່ານຈະສົ່ງທິດທາງຜົນໄດ້ຮັບ.

ບົດຂຽນນີ້ມີຄວາມ ໝາຍ ເລິກເຊິ່ງກ່ຽວກັບ ຄຳ ສັ່ງ Linux 'sort' ກັບ 14 ຕົວຢ່າງທີ່ເປັນປະໂຫຍດທີ່ຈະສະແດງໃຫ້ທ່ານເຫັນວິທີການ ນຳ ໃຊ້ ຄຳ ສັ່ງ sort ໃນ Linux.

1. ທຳ ອິດພວກເຮົາຈະໄດ້ສ້າງເອກະສານຂໍ້ຄວາມ (tecmint.txt) ເພື່ອປະຕິບັດຕົວຢ່າງ ຄຳ ສັ່ງ 'ຄັດ'. ໄດເລກະທໍລີເຮັດວຽກຂອງພວກເຮົາແມ່ນ '/ home/$USER/Desktop/tecmint.

ຕົວເລືອກ '-e' ໃນ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ຊ່ວຍໃຫ້ການຕີຄວາມ ໝາຍ ຂອງ backslash ແລະ/n ບອກແອັກໂກ້ຂຽນແຕ່ລະສາຍໃຫ້ເປັນສາຍ ໃໝ່.

$ echo -e "computer\nmouse\nLAPTOP\ndata\nRedHat\nlaptop\ndebian\nlaptop" > tecmint.txt

2. ກ່ອນທີ່ພວກເຮົາຈະເລີ່ມຕົ້ນດ້ວຍ 'ຄັດ' ສາມາດເບິ່ງເນື້ອໃນຂອງເອກະສານແລະຮູບແບບຂອງມັນ.

$ cat tecmint.txt

3. ດຽວນີ້ຈັດຮຽງເນື້ອຫາຂອງເອກະສານໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sort tecmint.txt

ໝາຍ ເຫດ: ຄຳ ສັ່ງຂ້າງເທິງນີ້ບໍ່ໄດ້ຈັດຮຽງເນື້ອໃນຂອງເອກະສານຂໍ້ຄວາມແຕ່ພຽງແຕ່ສະແດງໃຫ້ເຫັນຜົນຜະລິດທີ່ຈັດລຽງຕາມ ລຳ ດັບ.

4. ຈັດຮຽງເນື້ອໃນຂອງເອກະສານ ‘tecmint.txt’ ແລະຂຽນໃສ່ແຟ້ມທີ່ມີຊື່ວ່າ (sorted.txt) ແລະກວດສອບເນື້ອຫາໂດຍການໃຊ້ ຄຳ ສັ່ງ cat.

$ sort tecmint.txt > sorted.txt
$ cat sorted.txt

5. ດຽວນີ້ຈັດຮຽງເນື້ອໃນຂອງເອກະສານຂໍ້ຄວາມ ‘tecmint.txt’ ຕາມ ລຳ ດັບຍ້ອນການໃຊ້ ‘-r’ ປ່ຽນແລະປ່ຽນທິດທາງຜົນຜະລິດໄປເປັນເອກະສານ ‘reversesorted.txt’. ກວດເບິ່ງລາຍຊື່ເນື້ອຫາຂອງເອກະສານທີ່ສ້າງຂື້ນ ໃໝ່.

$ sort -r tecmint.txt > reversesorted.txt
$ cat reversesorted.txt

6. ພວກເຮົາ ກຳ ລັງຈະສ້າງແຟ້ມເອກະສານ ໃໝ່ (lsl.txt) ຢູ່ບ່ອນດຽວກັນ ສຳ ລັບຕົວຢ່າງລະອຽດແລະສະແດງມັນໂດຍໃຊ້ຜົນຂອງ 'ls -l' ສຳ ລັບລາຍຊື່ບ້ານຂອງທ່ານ.

$ ls -l /home/$USER > /home/$USER/Desktop/tecmint/lsl.txt
$ cat lsl.txt

ຕອນນີ້ຈະເຫັນຕົວຢ່າງເພື່ອຈັດຮຽງເນື້ອໃນບົນພື້ນຖານຂອງສະ ໜາມ ອື່ນແລະບໍ່ແມ່ນຕົວອັກສອນເລີ່ມຕົ້ນ.

7. ຈັດຮຽງເນື້ອໃນຂອງເອກະສານ ‘lsl.txt’ ບົນພື້ນຖານຂອງຖັນທີ 2 (ເຊິ່ງສະແດງ ຈຳ ນວນລິ້ງທີ່ເປັນສັນຍາລັກ).

$ sort -nk2 lsl.txt

ໝາຍ ເຫດ: ຕົວເລືອກ '-n' ໃນຕົວຢ່າງຂ້າງເທິງຈັດລຽງ ລຳ ດັບເນື້ອໃນເປັນ ຈຳ ນວນຫລາຍ. ຕົວເລືອກ '-n' ຕ້ອງຖືກ ນຳ ໃຊ້ເມື່ອພວກເຮົາຕ້ອງການຈັດຮຽງເອກະສານບົນພື້ນຖານຂອງຖັນທີ່ປະກອບດ້ວຍຄ່າຕົວເລກ.

8. ຈັດຮຽງເນື້ອໃນຂອງເອກະສານ ‘lsl.txt’ ບົນພື້ນຖານຂອງຖັນທີ 9 (ເຊິ່ງເປັນຊື່ຂອງແຟ້ມແລະແຟ້ມແລະບໍ່ແມ່ນຕົວເລກ).

$ sort -k9 lsl.txt

9. ມັນບໍ່ ຈຳ ເປັນຕ້ອງ ດຳ ເນີນການ ຄຳ ສັ່ງ sort ໃນເອກະສານ. ພວກເຮົາສາມາດສົ່ງທໍ່ນ້ ຳ ມັນໃສ່ທາງປາຍໂດຍກົງໂດຍມີ ຄຳ ສັ່ງຕົວຈິງ.

$ ls -l /home/$USER | sort -nk5

10. ຈັດຮຽງແລະເອົາຊໍ້າຈາກເອກະສານຂໍ້ຄວາມ tecmint.txt. ກວດເບິ່ງວ່າການຊໍ້າຊ້ອນໄດ້ຖືກລຶບອອກຫລືບໍ່.

$ cat tecmint.txt
$ sort -u tecmint.txt

ກົດລະບຽບມາຮອດປະຈຸບັນ (ສິ່ງທີ່ພວກເຮົາໄດ້ສັງເກດເຫັນ):

<

  • ສາຍທີ່ເລີ່ມຕົ້ນດ້ວຍຕົວເລກແມ່ນມັກໃນບັນຊີແລະຢູ່ທາງເທິງຈົນກວ່າໄດ້ລະບຸໄວ້ເປັນຢ່າງອື່ນ (-r).
  • ບັນດາເສັ້ນທີ່ເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນນ້ອຍແມ່ນມັກໃນບັນຊີແລະຢູ່ທາງເທິງຈົນກວ່າໄດ້ລະບຸເປັນຢ່າງອື່ນ (-r).
  • ເນື້ອໃນແມ່ນຖືກລະບຸບົນພື້ນຖານຂອງການເກີດຂື້ນຂອງຕົວອັກສອນໃນວັດຈະນານຸກົມຈົນກວ່າຈະໄດ້ລະບຸເປັນຢ່າງອື່ນ (-r).
  • ຈັດລຽງ ຄຳ ສັ່ງຕາມຄ່າເລີ່ມຕົ້ນປະຕິບັດຕາມແຕ່ລະສາຍເປັນສາຍແລະຫຼັງຈາກນັ້ນຈັດຮຽງມັນຂື້ນກັບວັດຈະນານຸກົມທີ່ເກີດຂື້ນຂອງຕົວອັກສອນ (ຕົວເລກທີ່ຕ້ອງການ; ເບິ່ງກົດລະບຽບ - 1) ຈົນກວ່າຈະມີການລະບຸຢ່າງອື່ນ.
  • 11. ສ້າງເອກະສານທີສາມ ‘lsla.txt’ ຢູ່ທີ່ສະຖານທີ່ປັດຈຸບັນແລະປະກອບມັນດ້ວຍຜົນຜະລິດຂອງ ຄຳ ສັ່ງ ‘l--A’.

    $ ls -lA /home/$USER > /home/$USER/Desktop/tecmint/lsla.txt
    $ cat lsla.txt
    

    ຜູ້ທີ່ມີຄວາມເຂົ້າໃຈກ່ຽວກັບ ຄຳ ສັ່ງ ‘ຮູ້’ ຮູ້ວ່າ ‘ls -lA’ = 'ls -l' + ແຟ້ມທີ່ເຊື່ອງໄວ້. ດັ່ງນັ້ນເນື້ອໃນສ່ວນໃຫຍ່ໃນສອງເອກະສານນີ້ຈະຄືກັນ.

    12. ຈັດຮຽງເນື້ອໃນຂອງສອງແຟ້ມໃສ່ຜົນຜະລິດມາດຕະຖານໃນເວລາດຽວກັນ.

    $ sort lsl.txt lsla.txt
    

    ສັງເກດການຄ້າງຫ້ອງຂອງແຟ້ມແລະແຟ້ມຂໍ້ມູນ.

    13. ຕອນນີ້ພວກເຮົາສາມາດເຫັນວິທີການຈັດຮຽງ, ໂຮມເຂົ້າແລະເອົາຊໍ້າຈາກສອງເອກະສານເຫຼົ່ານີ້.

    $ sort -u lsl.txt lsla.txt
    

    ສັງເກດວ່າການຊໍ້າຊ້ອນໄດ້ຖືກຍົກເວັ້ນຈາກຜົນໄດ້ຮັບ. ພ້ອມກັນນີ້, ທ່ານຍັງສາມາດຂຽນຜົນໄດ້ຮັບເຂົ້າໃນເອກະສານ ໃໝ່ ໂດຍການໂອນທິດທາງຜົນໄດ້ຮັບໄປຫາເອກະສານ
    14. ພວກເຮົາອາດຈະຈັດຮຽງເນື້ອໃນຂອງເອກະສານຫຼືຜົນຜະລິດໂດຍອີງໃສ່ຫຼາຍກ່ວາ ໜຶ່ງ ຖັນ. ຈັດຮຽງຜົນຜະລິດຂອງ ຄຳ ສັ່ງ 'l--' ບົນພື້ນຖານສະ ໜາມ 2,5 (ຕົວເລກ) ແລະ 9 (ບໍ່ແມ່ນຕົວເລກ).

    $ ls -l /home/$USER | sort -t "," -nk2,5 -k9
    

    ດຽວນີ້ ໝົດ ແລ້ວ. ໃນບົດຄວາມຕໍ່ໄປພວກເຮົາຈະເວົ້າເຖິງສອງສາມຕົວຢ່າງຕື່ມອີກຂອງ ຄຳ ສັ່ງ 'ຄັດ' ໂດຍລະອຽດ ສຳ ລັບທ່ານ. ຈົນກ່ວາຫຼັງຈາກນັ້ນຕິດຕາມແລະເຊື່ອມຕໍ່ກັບ Tecmint. ຮັກສາການແບ່ງປັນ. ໃຫ້ ຄຳ ເຫັນຕໍ່ໄປ. ມັກແລະແບ່ງປັນພວກເຮົາແລະຊ່ວຍພວກເຮົາໃຫ້ເຜີຍແຜ່.

    ອ່ານອີກ: 7 Linux ທີ່ ໜ້າ ສົນໃຈ 'ຈັດລຽງລໍາດັບ' ຕົວຢ່າງ ຄຳ ສັ່ງ - ພາກທີ 2