NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
GA

Orduithe Linux & Scileanna Bhlaosc

awk: Nuair a Thiocfaidh Colúin mar Chláir

Is é awk an rud a shroicheann tú nuair a thagann colúin mar aonad oibre: logaí rochtana nginx, /etc/passwd, aschur df, rud ar bith a chónaíonn i réimsí. Is teanga iomlán í (athróga, eagair, uimhríochtúil, rialacha patrún-gníomhaíochta) ag caitheamh éadaí aon-líneála, agus is é sin go díreach an folús ceart le haghaidh fóiréinsice log. An teorainn macánta: is líne aon-líne é rud ar bith a dhéanann awk go compordach, agus is script Python é rud ar bith a dteastaíonn leathanach de bhlocanna nach bhfuil glactha leis féin fós.

Príomhphointí

  1. Is é scoilteadh allamuigh an cleas lárnach: awk -F: '$3 >= 1000 {print $1}' /etc/passwd liostaíonn sé na fíor-úsáideoirí, agus -F'[,|]' láimhseálann teorainneacha ilcharachtar nuair a bhíonn an gearradh éirithe cheana féin.
  2. Comhair le eagair chomhthiomsaitheach: awk '{count[$1]++} END {do (c sa chomhaireamh) comhaireamh priontála[c], c}' /var/log/secure casann sé aon logáil isteach i dtábla minicíochta i líne amháin.
  3. Ceisteanna chomhad freagartha NR agus NF: Is é ‘NR==1’ an líne chinn, comhaireamh ‘{print NF}’ colúin in aghaidh an tsraith, agus nuair a dhéantar comparáid idir NR agus luachanna sábháilte comhaid eile aimsítear dúbailt agus bearnaí.
  4. Is é sliocht Match plus an t-arán laethúil: awk '/ 500 / {print $7, $9}' tarraingíonn access.log leathanaigh earráide le URLanna, agus ligeann OFS duit $0 a athphriontáil tar éis duit réimse amháin a chur in eagar gan an líne a athscríobh tú féin.
  5. Is iad na bloic BEGIN agus END an áit ina gcónaíonn an obair chomhiomlán: socraíonn BEGIN deighilteoirí, ritheann na meánrialacha in aghaidh an líne, priontaí END iomláin; trí bhloc a léamh go breá, tá cúig script ag caitheamh faoi cheilt.
  6. Is éard atá i gceist le lua ná fíor-namhaid na n-aon líneálacha sliogán: cuir an clár singil, cuir na litreacha dúbailte taobh istigh de, agus cuimhnigh nach sroicheann $7 taobh istigh de shreangán sliogáin dhá-luaite awk ar chor ar bith.
  7. Faigheann obair uimhriúil LC_ALL=C: déanann camóga logánta in uimhreacha agus corr-chomhbhailiúcháin comparáidí agus sórtáil ar an taobh eile, agus is líne amháin a shábhálann tráthnóna é nuair a phionnaítear an locale.
  8. Bíodh an tsíleáil ar eolas agat: téann camóga luaite taobh istigh de CSV, JSON neadaithe, nó formáidí illíne stáit go Python; is scalpal é awk agus fanann sé ar cheann.

Nóta allamuigh

Tháirg línéar awk amháin a thug colúin dollar ó loga le camóga logánta uimhreacha nár ceistíodh aon duine go dtí gur oscail an chuntasaíocht an tuarascáil. LC_ALL=Bhog C isteach inár leabharlann ailias an tseachtain sin agus d'fhan sé.

Ceisteanna coitianta

awk nó a ghearradh le haghaidh obair cholúin?

gearrtha le haghaidh deighilteoir seasta amháin agus liosta gnáthcholún; awk na coinníollacha nóiméad, regex, uimhríochtúil, nó comhiomláin a thaispeáint suas, ag an bpointe gearrtha amach as a dhoimhneacht ar aon nós.

Conas a dhéanaim colún a shuimiú nó a mheán?

Comhiomlán in END: cuireann awk '{s += $5} END {print s, s/NR}' leis agus cuireann sé meánréimse cúig trasna línte; stiall na mílte deighilteoirí ar dtús má chuireann locale camóga isteach sna huimhreacha.

Cén fáth a n-iompraíonn mo línéar amháin awk ar bhealach difriúil ar macOS?

seoltar macOS POSIX awk gan síntí GNU mar -i inplace nó gensub; is féidir go dteipeann ar scripteanna a ritheann ar Linux go ciúin ansin, mar sin coinnigh aon líneáil POSIX-chruthach nó tabhair gawk leat.

An féidir JSON a pharsáil awk?

Gan brí: níl aon struchtúr colúin ag JSON a thuigeann awk agus briseann hacks regex ar réada neadaithe. Úsáid jq, arb é cruth awk do JSON, nó modúl json Python nuair a fhásann an post.

Conas a chabhraíonn Kinetikatech le orduithe linux & scileanna bhlaosc

Ní gá duit a bheith i do shaineolaí ar orduithe linux & scileanna bhlaosc: Na horduithe agus na nósanna scriptithe a chinneann an n-oibríonn riarthóir freastalaí nó an ndéanann sé troid: cuardach, claochlú, aistriú, agus maoirsiú a dhéanamh ar théacs agus ar phróisis leis na huirlisí a chónaíonn i ngach bonn a shuiteáil. Is ar an gcúis sin go díreach atá Slándáil Freastalaithe Linux agus Bainistíocht Freastalaithe ann: cur i mbun, daingniú, faireachán agus duine ar dualgas de lá is d'oíche.

Labhair le hinnealtóir

Fadhb ar an freastalaí? Suíomh hackáilte? Luchtú mall?

Solúfar fadhbanna criticiúla laistigh de 30 nóiméad — gan stad, 7 lá sa tseachtain.

Iarr tacaíocht éigeandála support@kinetikatech.com