Otu esi eji Awk na nkwupụta oge niile iji yochaa ederede ma ọ bụ eriri na faịlụ


Mgbe anyị na-agba ọsọ ụfọdụ iwu na Unix/Linux ịgụ ma ọ bụ dezie ederede site na eriri ma ọ bụ faịlụ, ọtụtụ oge anyị na-agbalị nyochaa mmepụta na akụkụ nke mmasị. Nke a bụ ebe iji okwu mgbe niile na-aba uru.

Enwere ike ịkọwa okwu oge niile dị ka eriri na-anọchi anya ọtụtụ usoro mkpụrụedemede. Otu n'ime ihe kachasị mkpa gbasara nkwupụta okwu mgbe niile bụ na ha na-enye gị ohere nyochaa mmepụta nke iwu ma ọ bụ faịlụ, dezie akụkụ nke ederede ma ọ bụ faịlụ nhazi na ihe ndị ọzọ.

A na-eme okwu mgbe niile site na:

  1. Ihe odide nkịtị dị ka oghere, mesie akara (_), A-Z, a-z, 0-9.
  2. Mkpụrụedemede meta agbasawanye gaa na mkpụrụedemede nkịtị, ha gụnyere:
    1. (.) ọ dabara otu mkpụrụedemede ma ewezuga ahịrị ọhụrụ.
    2. (*) ọ dabara efu ma ọ bụ karịa nke agwa dị ya ụzọ.
    3. [ agwa(s) dakọtara na mkpụrụedemede ọ bụla akọwapụtara na mkpụrụedemede, mmadụ nwekwara ike iji akara akara (-) pụtara oke. mkpụrụedemede dị ka [a-f], [1-5], na ndị ọzọ.
    4. ^ ọ dabara na mmalite ahịrị dị na faịlụ.
    5. $ dakọtara na ngwụcha ahịrị dị na faịlụ.
    6. ọ bụ agwa mgbapụ.

    Iji nzacha ederede, mmadụ ga-eji ngwa nzacha ederede dị ka awk. Ị nwere ike iche maka awk dị ka asụsụ mmemme nke ya. Mana maka oke ntuziaka a maka iji awk, anyị ga-ekpuchi ya dị ka ngwa nzacha ahịrị iwu dị mfe.

    Okwu izugbe nke awk bụ:

    # awk 'script' filename
    

    Ebe script bụ usoro iwu nke awk ghọtara ma na-eme ya na faịlụ, aha faịlụ.

    Ọ na-arụ ọrụ site n'ịgụ akara enyere na faịlụ ahụ, na-eme otu ahịrị ahụ wee mebie edemede ahụ na ahịrị. A na-emegharị nke a na ahịrị niile dị na faịlụ ahụ.

    script dị n'ụdị /ụkpụrụ/omume ebe ụkpụrụ bụ okwu mgbe niile na omume bụ ihe awk ga-eme mgbe ọ chọtara ụkpụrụ enyere n'ahịrị.

    Otu esi eji ngwa nzacha Awk na Linux

    N'ihe atụ ndị a, anyị ga-elekwasị anya na mkpụrụedemede meta nke anyị tụlere n'elu n'okpuru atụmatụ awk.

    Ihe atụ dị n'okpuru na-ebipụta ahịrị niile dị na faịlụ /etc/hosts ebe ọ bụ na enyeghị ụkpụrụ ọ bụla.

    # awk '//{print}'/etc/hosts
    

    N'ihe atụ dị n'okpuru, e nyela ụkpụrụ localhost, yabụ awk ga-adaba n'ahịrị nwere localhost na faịlụ /etc/hosts.

    # awk '/localhost/{print}' /etc/hosts 
    

    (.) ga-adakọ na eriri nwere loc, localhost, localnet n'ihe atụ dị n'okpuru.

    Ya bụ ịsị * l ụfọdụ_otu agwa c *.

    # awk '/l.c/{print}' /etc/hosts
    

    Ọ ga-adakọrịrị eriri nwere localhost, localnet, ahịrị, nwere ike, dịka ọmụmaatụ n'okpuru:

    # awk '/l*c/{print}' /etc/localhost
    

    Ị ga-achọpụtakwa na (*) na-agbalị ime ka ị nweta egwuregwu kacha ogologo enwere ike ịchọpụta.

    Ka ileba anya n'okwu nke gosipụtara nke a, were okwu mgbe niile t*t nke pụtara eriri dakọtara na-amalite na mkpụrụedemede t wee kwụsị na t n'ahịrị n'okpuru:

    this is tecmint, where you get the best good tutorials, how to's, guides, tecmint. 
    

    Ị ga-enweta ohere ndị a mgbe ị na-eji ụkpụrụ /t*t/:

    this is t
    this is tecmint
    this is tecmint, where you get t
    this is tecmint, where you get the best good t
    this is tecmint, where you get the best good tutorials, how t
    this is tecmint, where you get the best good tutorials, how tos, guides, t
    this is tecmint, where you get the best good tutorials, how tos, guides, tecmint
    

    Na (*) na /t*t/ agwa kaadị ọhịa na-enye ohere awk ịhọrọ nhọrọ ikpeazụ:

    this is tecmint, where you get the best good tutorials, how to's, guides, tecmint
    

    Were dịka ọmụmaatụ [al1], ebe a awk ga-adakọ na eriri niile nwere agwa a ma ọ bụ l ma ọ bụ 1 n'ahịrị na faịlụ /etc/hosts.

    # awk '/[al1]/{print}' /etc/hosts
    

    Ọmụmaatụ na-esote dakọtara eriri na-amalite site na K ma ọ bụ k na-esote T:

    # awk '/[Kk]T/{print}' /etc/hosts 
    

    Jiri awk ghọta mkpụrụedemede:

    1. [0-9] pụtara otu nọmba
    2. [a-z] pụtara dakọtara otu mkpụrụedemede obere
    3. [A-Z] pụtara dakọtara otu mkpụrụedemede ukwu
    4. [a-zA-Z] pụtara dakọtara otu mkpụrụedemede
    5. [a-zA-Z 0-9] pụtara dakọtara otu mkpụrụedemede ma ọ bụ nọmba

    Ka anyị lee ihe atụ n'okpuru:

    # awk '/[0-9]/{print}' /etc/hosts 
    

    Ahịrị niile sitere na faịlụ /etc/hosts nwere opekata mpe otu nọmba [0-9] na atụ n'elu.

    Ọ dabara na ahịrị niile na-amalite na ụkpụrụ enyere dị ka ọmụmaatụ n'okpuru:

    # awk '/^fe/{print}' /etc/hosts
    # awk '/^ff/{print}' /etc/hosts
    

    Ọ dabara na ahịrị niile kwụsịrị na ụkpụrụ enyere:

    # awk '/ab$/{print}' /etc/hosts
    # awk '/ost$/{print}' /etc/hosts
    # awk '/rs$/{print}' /etc/hosts
    

    Ọ na-enye gị ohere iwere agwa na-esote ya dị ka ihe nkịtị nke bụ ịsị tụlee ya dị ka ọ dị.

    N'ihe atụ dị n'okpuru, iwu mbụ na-ebipụta ahịrị niile dị na faịlụ ahụ, iwu nke abụọ na-ebipụtaghị ihe ọ bụla n'ihi na achọrọ m ka ọ dakọtara na ahịrị nwere $25.00, mana ọ dịghị agwa mgbapụ na-eji.

    Iwu nke atọ ziri ezi ebe ọ bụ na ejirila agwa mgbapụ gụọ $ka ọ dị.

    # awk '//{print}' deals.txt
    # awk '/$25.00/{print}' deals.txt
    # awk '/\$25.00/{print}' deals.txt
    

    Nchịkọta

    Nke ahụ abụghị ihe niile na ngwa nzacha ahịrị iwu awk, ihe atụ ndị dị n'elu ọrụ bụ isi nke awk. N'akụkụ ndị ọzọ, anyị ga na-aga n'ihu maka otu esi eji atụmatụ mgbagwoju anya nke awk. Daalụ maka ịgụ site na mgbakwunye ma ọ bụ nkọwa ọ bụla, biputere okwu na ngalaba kwuru.