ວິທີການຂຽນອັກສອນໂດຍໃຊ້ພາສາການຂຽນໂປແກຼມ Awk - ພາກ 13


ທັງ ໝົດ ຕັ້ງແຕ່ເລີ່ມຕົ້ນຂອງຊຸດ Awk ຈົນເຖິງພາກທີ 12, ພວກເຮົາໄດ້ຂຽນ ຄຳ ສັ່ງແລະໂປແກຼມ Awk ຂະ ໜາດ ນ້ອຍຢູ່ໃນແຖວ ຄຳ ສັ່ງແລະໃນສະຄິບແກະຕາມ ລຳ ດັບ.

ເຖິງຢ່າງໃດກໍ່ຕາມ, Awk, ຄືກັນກັບ Shell, ຍັງເປັນພາສາທີ່ຖືກແປ, ສະນັ້ນ, ດ້ວຍທຸກສິ່ງທີ່ພວກເຮົາໄດ້ຍ່າງມາຕັ້ງແຕ່ເລີ່ມຕົ້ນຂອງຊຸດນີ້, ດຽວນີ້ທ່ານສາມາດຂຽນສະຄິບທີ່ໃຊ້ໄດ້ Awk.

ຄ້າຍຄືກັບວິທີທີ່ພວກເຮົາຂຽນສະຄິບຫອຍ, ອັກສອນ Awk ເລີ່ມຕົ້ນດ້ວຍສາຍ:

#! /path/to/awk/utility -f 

ຕົວຢ່າງໃນລະບົບຂອງຂ້ອຍ, ຜົນປະໂຫຍດ Awk ແມ່ນຕັ້ງຢູ່ໃນ/usr/bin/awk, ດັ່ງນັ້ນ, ຂ້ອຍຈະເລີ່ມຕົ້ນຂຽນ Awk script ດັ່ງຕໍ່ໄປນີ້:

#! /usr/bin/awk -f 

ການອະທິບາຍເສັ້ນຂ້າງເທິງ:

<

  • #! - ໝາຍ ເຖິງ Shebang, ເຊິ່ງລະບຸນາຍແປພາສາ ສຳ ລັບ ຄຳ ແນະ ນຳ ໃນບົດຂຽນ
  • /usr/bin/awk - ແມ່ນນາຍແປພາສາ
  • -f - ຕົວເລືອກນາຍແປພາສາ, ໃຊ້ເພື່ອອ່ານເອກະສານໂປແກຼມ
  • ທີ່ເວົ້າວ່າ, ຕອນນີ້ໃຫ້ພວກເຮົາເບິ່ງເບິ່ງຕົວຢ່າງຂອງສະຄິບທີ່ສາມາດໃຊ້ໄດ້ Awk, ພວກເຮົາສາມາດເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນງ່າຍໆດ້ານລຸ່ມ. ໃຊ້ບັນນາທິການທີ່ທ່ານມັກເພື່ອເປີດເອກະສານ ໃໝ່ ດັ່ງຕໍ່ໄປນີ້:

    $ vi script.awk
    

    ແລະວາງລະຫັດຂ້າງລຸ່ມນີ້ໃນແຟ້ມ:

    #!/usr/bin/awk -f 
    BEGIN { printf "%s\n","Writing my first Awk executable script!" }
    

    ບັນທຶກເອກະສານແລະອອກຈາກນັ້ນເຮັດໃຫ້ສະຄິບສາມາດປະຕິບັດໄດ້ໂດຍການອອກ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້:

    $ chmod +x script.awk
    

    ຫລັງຈາກນັ້ນ, ດຳ ເນີນການ:

    $ ./script.awk
    
    Writing my first Awk executable script!
    

    ນັກຂຽນໂປແກຼມທີ່ ສຳ ຄັນຢູ່ທີ່ນັ້ນຕ້ອງມີ ຄຳ ຖາມວ່າ "ຄຳ ເຫັນຢູ່ໃສ?" ການຂຽນ ຄຳ ເຫັນໃນລະຫັດຂອງທ່ານແມ່ນການປະຕິບັດການຂຽນໂປແກຼມທີ່ດີ.

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

    ເພາະສະນັ້ນ, ທ່ານສາມາດປະກອບ ຄຳ ເຫັນໃນບົດຂຽນຂ້າງເທິງດັ່ງຕໍ່ໄປນີ້.

    #!/usr/bin/awk -f 
    
    #This is how to write a comment in Awk
    #using the BEGIN special pattern to print a sentence 
    
    BEGIN { printf "%s\n","Writing my first Awk executable script!" }
    

    ຕໍ່ໄປ, ພວກເຮົາຈະເບິ່ງຕົວຢ່າງທີ່ພວກເຮົາອ່ານການປ້ອນຂໍ້ມູນຈາກແຟ້ມເອກະສານ. ພວກເຮົາຕ້ອງການຄົ້ນຫາຜູ້ໃຊ້ລະບົບທີ່ມີຊື່ aaronkilik ໃນເອກະສານບັນຊີ,/etc/passwd, ຫຼັງຈາກນັ້ນພິມຊື່ຜູ້ໃຊ້, ລະຫັດຜູ້ໃຊ້ແລະ GID ຂອງຜູ້ໃຊ້ດັ່ງຕໍ່ໄປນີ້:

    ຂ້າງລຸ່ມນີ້ແມ່ນເນື້ອໃນຂອງບົດຂຽນຂອງພວກເຮົາທີ່ມີຊື່ວ່າ second.awk.

    #! /usr/bin/awk -f 
    
    #use BEGIN sepecial character to set FS built-in variable
    BEGIN { FS=":" }
    
    #search for username: aaronkilik and print account details 
    /aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }
    

    ບັນທຶກເອກະສານແລະອອກ, ເຮັດໃຫ້ສະຄິບສາມາດປະຕິບັດໄດ້ແລະປະຕິບັດມັນດັ່ງລຸ່ມນີ້:

    $ chmod +x second.awk
    $ ./second.awk /etc/passwd
    
    Username : aaronkilik User ID : 1000 User GID : 1000
    

    ໃນຕົວຢ່າງສຸດທ້າຍຂ້າງລຸ່ມນີ້, ພວກເຮົາຈະໃຊ້ do ໃນຂະນະທີ່ຖະແຫຼງການເພື່ອພິມຕົວເລກຈາກ 0-10:

    ຂ້າງລຸ່ມນີ້ແມ່ນເນື້ອໃນຂອງບົດຂຽນຂອງພວກເຮົາທີ່ມີຊື່ວ່າ do.awk.

    #! /usr/bin/awk -f 
    
    #printing from 0-10 using a do while statement 
    #do while statement 
    BEGIN {
    #initialize a counter
    x=0
    
    do {
        print x;
        x+=1;
    }
    while(x<=10)
    }
    

    ຫຼັງຈາກບັນທຶກເອກະສານ, ເຮັດໃຫ້ສະຄິບ ດຳ ເນີນການໄດ້ຄືກັບທີ່ພວກເຮົາໄດ້ເຮັດມາກ່ອນ. ຫລັງຈາກນັ້ນ, ດໍາເນີນການມັນ:

    $ chmod +x do.awk
    $ ./do.awk
    
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    

    ບົດສະຫຼຸບ

    ພວກເຮົາໄດ້ມາຮອດຕອນສຸດທ້າຍຂອງຊຸດ Awk ທີ່ ໜ້າ ສົນໃຈນີ້, ຂ້າພະເຈົ້າຫວັງວ່າທ່ານຈະໄດ້ຮຽນຮູ້ຫຼາຍຢ່າງຈາກທັງ ໝົດ 13 ພາກ, ເປັນການແນະ ນຳ ກ່ຽວກັບພາສາການຂຽນໂປແກມ Awk.

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

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

    ລິ້ງອ້າງອີງ: Programming Language AWK

    ສຳ ລັບຄວາມຄິດໃດ ໜຶ່ງ ທີ່ທ່ານຕ້ອງການຢາກແລກປ່ຽນຫຼື ຄຳ ຖາມ, ໃຫ້ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້. ຈົ່ງ ຈຳ ໄວ້ສະ ເໝີ ທີ່ຈະເຊື່ອມຕໍ່ກັບ Tecmint ສຳ ລັບຊຸດທີ່ ໜ້າ ຕື່ນເຕັ້ນກວ່າ.