7 ຕົວຢ່າງ ຄຳ ສັ່ງ Linux ທີ່ ໜ້າ ສົນໃຈ - ພາກທີ 2


ໃນບົດຂຽນສຸດທ້າຍຂອງພວກເຮົາພວກເຮົາໄດ້ກວມເອົາຕົວຢ່າງຕ່າງໆໃນການຈັດຮຽງ ຄຳ ສັ່ງ, ຖ້າທ່ານພາດໂອກາດນີ້, ທ່ານສາມາດຜ່ານມັນໂດຍໃຊ້ລິ້ງລຸ່ມນີ້. ໃນການສືບຕໍ່ໄປສະນີສຸດທ້າຍຂໍ້ຄວາມນີ້ມີຈຸດປະສົງເພື່ອໃຫ້ກວມເອົາ ຄຳ ສັ່ງທີ່ຍັງເຫຼືອເພື່ອໃຫ້ບົດຂຽນທັງສອງພ້ອມກັນເປັນ ຄຳ ແນະ ນຳ ທີ່ສົມບູນ ສຳ ລັບ Linux“ sort ’command

<

  • 14 'ຈັດລຽງຕາມ' ຕົວຢ່າງ ຄຳ ສັ່ງໃນ Linux
  • ກ່ອນທີ່ພວກເຮົາຈະສືບຕໍ່ຕໍ່ໄປ, ສ້າງເອກະສານຂໍ້ຄວາມ ‘ເດືອນ.

    $ echo -e "mar\ndec\noct\nsep\nfeb\naug" > month.txt
    $ cat month.txt
    

    15. ຈັດຮຽງເອກະສານ ‘month.txt’ ບົນພື້ນຖານ ຄຳ ສັ່ງເດືອນໂດຍການໃຊ້ປຸ່ມປ່ຽນ“ M ’(–month-sort).

    $ sort -M month.txt
    

    ສິ່ງ ສຳ ຄັນ: ໃຫ້ສັງເກດວ່າ 'ຈັດຮຽງ' ຄຳ ສັ່ງຕ້ອງການຢ່າງ ໜ້ອຍ 3 ຕົວເພື່ອພິຈາລະນາຊື່ເດືອນ.


    16. ຈັດຮຽງຂໍ້ມູນທີ່ເປັນຮູບແບບທີ່ສາມາດອ່ານໄດ້ຂອງມະນຸດເວົ້າວ່າ 1K, 2M, 3G, 2T, ບ່ອນທີ່ K, M, G, T ເປັນຕົວແທນ Kilo, Mega, Giga, Tera.

    $ ls -l /home/$USER | sort -h -k5
    

    17. ໃນບົດຂຽນສຸດທ້າຍພວກເຮົາໄດ້ສ້າງແຟ້ມ 'sorted.txt' ໃນຕົວຢ່າງເລກທີ 4 ແລະເອກະສານຂໍ້ຄວາມອື່ນ 'lsl.txt' ໃນ ຈຳ ນວນຕົວຢ່າງ 6. ພວກເຮົາຮູ້ວ່າ 'sorted.txt' ຖືກຈັດຮຽງແລ້ວໃນຂະນະທີ່ 'lsl.txt' ບໍ່ແມ່ນ. ສາມາດເຮັດໃຫ້ກວດເບິ່ງທັງສອງເອກະສານຖືກຈັດຮຽງຫລືບໍ່ໃຊ້ ຄຳ ສັ່ງຈັດຮຽງ.

    $ sort -c sorted.txt
    

    ຖ້າມັນກັບຄືນ 0, ໝາຍ ຄວາມວ່າເອກະສານຖືກຈັດຮຽງແລະບໍ່ມີຂໍ້ຂັດແຍ່ງ.

    $ sort -c lsl.txt
    

    ຄວາມຜິດປົກກະຕິຂອງການລາຍງານ. ການຂັດຂືນ ..

    18. ຖ້າຜູ້ ກຳ ນົດ (ຕົວແຍກ) ລະຫວ່າງ ຄຳ ວ່າງແມ່ນຊ່ອງ, ໃຫ້ ຄຳ ສັ່ງຈັດລຽງ ລຳ ດັບໂດຍອັດຕະໂນມັດຫຍັງຫຼັງຈາກພື້ນທີ່ນອນເປັນ ຄຳ ໃໝ່. ຈະເປັນແນວໃດຖ້າວ່າຜູ້ ກຳ ນົດເວລາບໍ່ແມ່ນພື້ນທີ່?

    ພິຈາລະນາເອກະສານຂໍ້ຄວາມ, ເນື້ອໃນທີ່ແຍກອອກຈາກສິ່ງອື່ນນອກ ເໜືອ ຈາກພື້ນທີ່ເຊັ່ນ: '|' ຫລື '\' ຫລື '+' ຫລື '.' ຫຼື….

    ສ້າງແຟ້ມຂໍ້ຄວາມບ່ອນທີ່ເນື້ອຫາຖືກແຍກອອກໂດຍ +. ໃຊ້ 'ແມວ' ເພື່ອກວດສອບເນື້ອຫາຂອງເອກະສານ.

    $ echo -e "21+linux+server+production\n11+debian+RedHat+CentOS\n131+Apache+Mysql+PHP\n7+Shell Scripting+python+perl\n111+postfix+exim+sendmail" > delimiter.txt
    
    $ cat delimiter.txt
    

    ຕອນນີ້ຈັດຮຽງເອກະສານນີ້ບົນພື້ນຖານຂອງສະ ໜາມ ທີ 1 ເຊິ່ງເປັນຕົວເລກ.

    $ sort -t '+' -nk1 delimiter.txt
    

    ແລະທີສອງບົນພື້ນຖານຂອງສະ ໜາມ ທີ 4 ເຊິ່ງບໍ່ແມ່ນຕົວເລກ.

    ຖ້າຜູ້ ກຳ ນົດຂອບເຂດແມ່ນ Tab ທ່ານອາດຈະໃຊ້ $'\ t' ແທນທີ່ '+', ດັ່ງທີ່ສະແດງຢູ່ໃນຕົວຢ່າງຂ້າງເທິງ.

    19. ຈັດຮຽງເນື້ອໃນຂອງ ຄຳ ສັ່ງ 'l--' ສຳ ລັບລາຍຊື່ເຮືອນຂອງທ່ານບົນພື້ນຖານຂອງຖັນທີ 5 ເຊິ່ງສະແດງເຖິງ ຈຳ ນວນຂໍ້ມູນ 'ຕາມ ລຳ ດັບແບບ Random.

    $ ls -l /home/avi/ | sort -k5 -R 
    

    ທຸກໆຄັ້ງທີ່ທ່ານຂຽນບົດຂຽນຂ້າງເທິງນີ້ທ່ານອາດຈະໄດ້ຮັບຜົນທີ່ແຕກຕ່າງກັນຕັ້ງແຕ່ຜົນໄດ້ຮັບຖືກສ້າງຂື້ນແບບສຸ່ມ.

    ດັ່ງທີ່ເຫັນໄດ້ຊັດຈາກເລກທີ Rule - 2 ຈາກບົດຄວາມສຸດທ້າຍ, ການຈັດຮຽງ ຄຳ ສັ່ງມັກເສັ້ນທີ່ເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນນ້ອຍກວ່າໂຕອັກສອນໃຫຍ່. ກວດເບິ່ງຕົວຢ່າງທີ 3 ໃນບົດຂຽນສຸດທ້າຍ, ບ່ອນທີ່ສາຍ“ laptop” ປະກົດຕົວກ່ອນສາຍ 'LAPTOP'.

    20. ວິທີການລົບລ້າງຄວາມຕ້ອງການການຈັດປະເພດເລີ່ມຕົ້ນ? ກ່ອນທີ່ພວກເຮົາຈະສາມາດຫຼອກລວງຄວາມຕ້ອງການການຈັດລຽງຕາມປົກກະຕິທີ່ພວກເຮົາຕ້ອງການສົ່ງອອກຕົວແປສິ່ງແວດລ້ອມ LC_ALL ໄປຄ. ເພື່ອເຮັດສິ່ງນີ້ໃຫ້ແລ່ນລະຫັດຂ້າງລຸ່ມນີ້ໃສ່ Command Prompt ຂອງທ່ານ.

    $ export LC_ALL=C
    

    ແລະຫຼັງຈາກນັ້ນຈັດຮຽງເອກະສານຂໍ້ຄວາມ ‘tecmint.txt‘ overriding the preference sort sort.

    $ sort tecmint.txt
    

    ຢ່າລືມປຽບທຽບຜົນຜະລິດກັບຜົນທີ່ທ່ານບັນລຸໄດ້ໃນຕົວຢ່າງ 3 ແລະທ່ານຍັງສາມາດໃຊ້ຕົວເລືອກ '-f' aca 'oreignore-case' ເພື່ອໃຫ້ໄດ້ຜົນຜະລິດທີ່ມີການຈັດຫຼາຍ.

    $ sort -f tecmint.txt
    

    ແນວໃດກ່ຽວກັບການແລ່ນ 'ຈັດຮຽງ' ໃສ່ສອງເອກະສານປ້ອນຂໍ້ມູນແລະເຂົ້າຮ່ວມກັນເທື່ອດຽວ!

    ສາມາດສ້າງເອກະສານຂໍ້ຄວາມສອງຢ່າງຄື 'file1.txt' ແລະ 'file2.txt' ແລະເກັບຂໍ້ມູນໃສ່ກັບຂໍ້ມູນບາງສ່ວນ. ໃນທີ່ນີ້ພວກເຮົາ ກຳ ລັງເພີ່ມ 'file1.txt' ທີ່ມີ ຈຳ ນວນດັ່ງລຸ່ມນີ້. ຍັງໃຊ້ ຄຳ ສັ່ງ 'cat' ເພື່ອກວດສອບເນື້ອຫາຂອງເອກະສານ.

    $ echo -e “5 Reliable\n2 Fast\n3 Secure\n1 open-source\n4 customizable” > file1.txt
    $ cat file1.txt
    

    ແລະຕື່ມຂໍ້ມູນໃສ່ແຟ້ມທີສອງ 'file2.txt' ພ້ອມກັບຂໍ້ມູນບາງຢ່າງ.

    $ echo -e “3 RedHat\n1 Debian\n5 Ubuntu\n2 Kali\n4 Fedora” > file2.txt
    $ cat file2.txt
    

    ໃນປັດຈຸບັນຄັດແລະເຂົ້າຮ່ວມຜົນຜະລິດຂອງທັງສອງໄຟລ໌.

    $ join <(sort -n file1.txt) <(sort file2.txt)
    

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