Իմացեք Awk- ի մասին. Տեքստի մշակման ամենահզոր միջոցը երբևէ:

Բացահայտում. Ձեր աջակցությունն օգնում է կայքը պահպանել: Այս էջում առաջարկվող որոշ ծառայությունների համար մենք վաստակում ենք ուղեգրման վճար.


Awk- ը տեքստի մշակման ամենամեծ գործիքն է, որը դուք չգիտեի ձեզ անհրաժեշտ: Բայց եթե աշխատում եք շատ տվյալների հետ, հավանաբար մտածել եք այնպիսի բաներ, ինչպիսիք են. «Տպած տվյալների երկրորդ և հինգերորդ շարասյունը շատ լավ կլինի այս աղյուսակից»: Եվ սա, ամենապարզ ձևով, անում է «Awk» – ը.

Մի փոքր պատմություն

Անցած օրերին մարդկանց մեծ մասը գիտեր, թե որն է հարաբերական տվյալների բազան, և MySQL- ի մշակումից գրեթե երկու տասնամյակ առաջ, մեծ թվով տվյալներ պահվում էին տեքստային ֆայլերում: Շմարտությունն այն է, որ շատ տվյալներ դեռ պահվում են այդ կերպ: Դա հատկապես վերաբերում է Unix օպերացիոն համակարգերին: Օրինակ ՝ Unix / etc / passwd ֆայլը պարզապես տեքստային ֆայլ է, որի վրա կա մեկ տող, համակարգում յուրաքանչյուր օգտագործողի համար, և օգտագործողի յուրաքանչյուր դաշտ ՝ աղիքով առանձնացված: Օրինակ:

admin: *: 1001: 2001: Administrator: / home / root: / home / sh
brian: *: 1002: 2002: Brian Kernighan: / home / brian: / home / bash

Մեծ համակարգերի վրա նման passwd ֆայլերը կարող են պարունակել հազարավոր տողեր: Կարող եք պատկերացնել, որ կարող են լինել ժամանակներ, երբ ցանկանում եք ձեր համակարգչում հաշիվներով մարդկանց անունների ամբողջական ցուցակ: Այս դեպքում դա կլինի 5-րդ դաշտը: Այսպիսով, 1977-ին երեք ծրագրավորողներ ստեղծեցին ընդհանուր ծրագիր ՝ դա կատարելու համար: Դրանք էին ՝ Ալֆրեդ Ահոն, Փիթեր Ուայնբերգը և Բրայան Քերնիշանը: Եվ դրանց նախնական AWK- ն այն է, թե ինչպես է Awk- ն ստացել իր անունը.

Awk- ի օրինակ

Լռելյայն, Awk- ը ենթադրում է, որ դաշտերը տարանջատվում են տիեզերական նիշերով: Բայց կարող եք Awk- ին ասել, որ այլ կերպար օգտագործի ՝ օգտագործելով –F (կամ – դաշտը բաժանող) դրոշը, որպեսզի Awk- ին այլ դաշտային տարանջատիչ տա: / Etc / passwd- ի դեպքում մենք կցանկանայինք օգտագործել «:» բնույթը.

Հաշվի առնելով բաժանարար բնույթը, Awk- ն առաջին դաշտը վերագրում է $ 1 փոփոխականին, երկրորդ դաշտը ՝ փոփոխական $ 2-ին և այլն: Ամբողջ տողը նշանակվում է $ 0: Եթե ​​սա ծանոթ է, ապա դա կարող է լինել այն պատճառով, որ այսպես են վարվում Bourne- ի և Bash- ի Shell- ի գրությունները կառավարում հրամանի գծի պարամետրերը.

Չնայած Awk սցենարները կարող են դրվել ֆայլերի, դրանք սովորաբար տեղադրվում են հրամանի տողի վրա ՝ «Awk» հրամանի մաս: Ահա մի պարզ awk հրաման, որը կներկայացնի բոլոր օգտագործողներին և հաշիվների իրական անուններին, որոնք նշված են / և այլն / passwd ֆայլում.

awk -F: ” / etc / passwd

Սա կբերի մեր վերը նշված օրինակից / etc / passwd ֆայլից հետևյալ արդյունքը.

ադմինիստրատոր
Բրայան Բրայան Քերնիշան

Խոսքը նույնքան պարզ «Awk» ծրագրի մասին է, որքան կա: Բայց երևի կտեսնեք, որ սա մենակ շատ հզոր է: Հաճախ մարդիկ նման ֆայլը կարևորելու են աղյուսակի աղյուսակը, կջնջեն չպլանավորված սյուները, այնուհետև կփրկեն արդյունքը ՝ որպես նոր տեքստային ֆայլ: Դա ծանր է, երբ մի քանի վայրկյան հետո կարող ես նույն բանը անել Awk- ի հետ: Եվ սա միայն սկիզբն է: Դուք կարող եք արտադրանքը պայմանական դարձնել; Դուք կարող եք ամբողջությամբ վերահսկել ելքը; եթե գործ ունես թվային տվյալների հետ, դրա վրա կարող ես հաշվարկներ անել. և շատ ավելին.

Awk ռեսուրսներ

Awk- ը սովորելու շատ հեշտ լեզու է: Եվ հենց դա կան շատ ռեսուրսներ: Մենք կանցնենք մի քանի ներքևում.

Առցանց ձեռնարկներ

Ստորև բերված են մի շարք ձեռնարկներ, որոնք սկսվում են հենց սկզբից և ձեզ հետ են վերցնում լեզվի կարևորագույն կողմերը: Որն եք առավել օգտակար գտնել ձեզանից կախված.

  • Grymoire Awk Tutorial. Սա Բրյուս Բարնետի հիանալի ներդրումն է Awk- ին: Ստուգեք այս բոլոր Unix ձեռնարկները.
  • Ընդհանուր թեմաներ. «Awk» օրինակով. Սա IBM- ից է և տրամադրում է «Առգ» սովորելու ցավոտ միջոց: Համոզվեք, որ դրա 2-րդ մասից հետո ստուգեք 2-րդ մասը.
  • Awk Tutorial: Սա Tutorials Point ներդրումն է Awk- ին, որը նույնիսկ ձեզ է տանում Linux- ի մեքենաներ ներբեռնելու և տեղադրելու միջոցով:.
  • Awk Primer. Այս ձեռնարկը բավականին արագ է ընթանում, բայց եթե ձեզ հարմարավետ են shell scripting- ով կամ նախկինում օգտագործել եք Awk- ը, դա լավ ընտրություն է.

Գրքեր

Կան մի շարք լավ գրքեր, որոնք հիմք են հանդիսանում «Awk» – ին.

  • Ահոյի և Կեռնիգանի «Awk» ծրագրավորման լեզուն. Սա «Awk» – ի բնօրինակ գիրքն է: Բայց, ի տարբերություն բնօրինակ մշակողների նման գրքերի մեծամասնության, այս մեկն իսկապես լավ է և հեշտ հասկանալի.
  • Սեդ & Awk by Dougherty and Robbins. Սա դասական է, որը զբաղվում է Awk- ով, ինչպես նաև հոսքի խմբագրով (sed): Երկուսն էլ հաճախ օգտագործվում են միասին: Հետաքրքիր է նաև Sed- ը և Awk: Pocket Reference- ը, երբ համակարգիչներին հարմարավետ լինեք.
  • AWK Programming. George Duckett- ի ​​հարցերն ու պատասխանները. Սա հետաքրքիր Kindle գիրք է, որը քիչ թե շատ խոհարարագիր է: Այն իր մեջ ներառում է շատ հիանալի հարցեր, որոնք կհարստացնեն Awk- ի մասին մտածելու ձևը և այն ձևերը, որոնք դուք կարծում եք, որ այն կարող է օգտագործվել.
  • Արդյունավետ awk ծրագրավորում. Համընդհանուր տեքստի մշակում և նախշերով համադրություն Առնոլդ Ռոբինսի. Սա նման է «Awk Programming Lanuage» – ի շարունակության: Այն խորանում է լեզվի մեջ և կենտրոնանում է Awk, Gawk- ի Gnu տարբերակի վրա.

Awk Իրականացումներ

Առաջին անգամ ՝ 1977 թվականից ի վեր, տեղի են ունեցել մի շարք «Awk» – ը: Փաստորեն, 1985-ին (նախքան «Awk Programming Language» – ի հրատարակումը), Awk- ն մեծապես ընդլայնվեց: Այդ վարկածը հաճախ անվանում են «նոր Awk» կամ մերկ: Ներկայումս կան ավելի շատ հայտնի տարբերակներ.

  • Գավք. Սա Gnu Project- ի Awk- ի իրականացումն է: Այն չափազանց տարածված է և աջակցում է այլ լեզուների, քան մյուս տարբերակները.
  • BWK. Սա «մի ճշմարտություն Awk» է, քանի որ այն մեկն է, որն օգտագործվում է «Awk Programming Lanuage» – ի համար: Այն լայնորեն օգտագործվում է FreeBSD- ում.
  • Mawk. Սա մի վարկած է, որը սկզբում գրվել է Մայք Բրեննանի կողմից, բայց պահպանվել և թարմացվել է Թոմաս Դիկիի կողմից 2009 թվականից: Այն կենտրոնանում է արագության վրա.
  • BusyBox. Սա ընդհանուր գործիք է, որն ապահովում է մի շարք պարզեցված Unix գործիքներ, ներառյալ Awk- ը.

Առցանց ֆորումներ

Երբեմն պարզապես անհրաժեշտ է հարցեր տալ: Եվ ինտերնետում շատ մարդիկ կան, ովքեր լավ գիտեն «Awk» – ը: Ահա մի քանի ավելի լավ տեղեր, որոնք պետք է գնան ՝ ձեր հարցերին պատասխանելու համար.

  • Comp.lang.awk Google Group. Սա համեմատաբար ակտիվ ֆորում է, որը արժե դուրս գալ.
  • Stack Overflow Awk Հարցեր. Սա նորագույն հարցերի էջ է, որոնք նշվել են որպես Awk- ի հետ կապի մեջ: Դա հիանալի տեղեկանք է և տեղ ՝ ձեր սեփական հարցերը ներկայացնելու համար.
  • Awk Reddit. Սա Awk- ի ենթավերնագիրն է: Դա այնքան էլ ակտիվ չէ, բայց դրա շուրջը շատ բանիմաց մարդիկ կան, և լավ տեղ է հարցերին պատասխանելու համար.

Ամփոփում

Awk- ը հիանալի լեզու է տեքստի մշակման համար: Եվ դա կարող է զարմանալի բաներ անել, եթե ուզում եք լեզուն բավական հեռու մղել: Միևնույն ժամանակ, շարահյուսությունը բավականին պարզ է, որ այն կարող է արագ դառնալ ձեր աշխատանքային գործիքների հավաքածուի մի մասը: Այստեղ ներկայացված ռեսուրսները ձեզ կտրամադրեն ձեզ անհրաժեշտ բոլոր օգնությունները.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map