Kaip naudoti „awk“ komandą „Bash“.

Kaip Naudoti Awk Komanda Bash



Dirbant komandinės eilutės aplinkoje, norint efektyviai valdyti failus, katalogus ir kitus duomenis, labai svarbu gerai suprasti įvairias komandas. Viena iš tokių komandų yra komanda „awk“. awk yra galingas įrankis, naudojamas tekstiniams failams apdoroti ir manipuliuoti Unix/Linux aplinkoje. Šiame straipsnyje bus paaiškinta, kas yra „awk“ komanda ir kaip ją efektyviai naudoti.

Kas yra „awk“ komanda?

Komanda „awk“ yra galingas įrankis, skirtas manipuliuoti ir apdoroti tekstinius failus Unix / Linux aplinkoje. Jis gali būti naudojamas atliekant tokias užduotis kaip šablonų derinimas, filtravimas, rūšiavimas ir duomenų apdorojimas. awk daugiausia naudojamas apdoroti ir apdoroti duomenis struktūrizuotai.







Kaip naudoti awk komandą

awk yra komandų eilutės įrankis, kurį galima naudoti įvairiais būdais. Jis gali būti iškviestas tiesiai iš komandinės eilutės arba gali būti naudojamas kartu su apvalkalo scenarijumi. Štai keli awk naudojimo pavyzdžiai:



1 pavyzdys: failo eilučių skaičiaus skaičiavimas

Norėdami suskaičiuoti failo eilučių skaičių, galite naudoti šią awk sintaksę:



awk „BAIGTI{spausdinti NR}“ < failo pavadinimas.txt >


Čia „NR“ yra integruotas kintamasis, kuriame yra awk apdorotų įrašų (eilučių) skaičius. Raktinis žodis „END“ nurodo awk vykdyti šią komandą, kai visos failo eilutės buvo apdorotos. Čia sukūriau failo tekstinį failą iliustracijos tikslais ir panaudojau aukščiau pateiktą sintaksę apvalkalo scenarijuje, kuris yra:





#!/bin/bash
awk „BAIGTI{spausdinti NR}“ testfile.txt


Mano sukurtame tekstiniame faile yra dvi eilutės, o kai naudojama komanda awk, išvestis rodoma 2, toliau pateiktame paveikslėlyje galite pamatyti tekstinį failą, kurį sukūriau:



2 pavyzdys: Duomenų filtravimas

awk gali būti naudojamas duomenims filtruoti pagal konkrečius kriterijus, o štai sintaksė, kurią reikėtų naudoti tokiam tikslui:

awk '!//' < failo pavadinimas.txt >


Pavyzdžiui, galite naudoti toliau pateiktą komandą, kad išfiltruotumėte visas failo eilutes, kuriose yra žodis „Labas“.

#!bin/bash
awk '!/Sveiki/' testfile.txt


Šiame pavyzdyje „! simbolis paneigia reguliariųjų posakių paiešką, todėl bus spausdinamos visos eilutės, kuriose nėra žodžio „Labas“. Naudojau tą patį tekstinį failą kaip ir ankstesniame pavyzdyje, todėl čia yra aukščiau pateikto scenarijaus išvestis:

3 pavyzdys: konkrečių laukų ištraukimas

awk taip pat gali būti naudojamas norint išgauti konkrečius laukus iš failo. Pavyzdžiui, jei turite failą, kuriame yra vardų ir adresų sąrašas, ir norite išskleisti tik vardus, galite naudoti šią komandą:

awk „{print $}“ < failo pavadinimas.txt >


Čia iliustracijai atspausdinau pirmąjį to paties tekstinio failo lauką ir „$1“ reiškia pirmąjį kiekvienos failo eilutės lauką. Komanda „print“ nurodo awk spausdinti tik tą lauką.

#!/bin/bash
awk „{print $1}“ testfile.txt


Tekstiniame faile pirmasis pirmosios eilutės įrašas yra „This“, o pirmasis antrosios eilutės įrašas yra „Labas“, taigi čia yra nurodyto kodo išvestis:

Išvada

Komanda awk yra galingas įrankis, naudojamas manipuliuoti ir apdoroti tekstinius failus. Tai leidžia atlikti įvairias operacijas su tekstiniais failais, pavyzdžiui, spausdinti konkrečius stulpelius, ieškoti šablonų ir skaičiuoti sumas. Įvaldę awk pagrindus, galite supaprastinti savo darbo eigą ir tapti efektyvesniu Linux arba Unix vartotoju.