Diajar dina Komando Linux Ubuntu - gawk

nami

gawk - scanning pola na basa processing

Synopsis

gawk [POSIX atanapi Lisénsi pilihan gaya] -f program-file [-] file ...
gawk [POSIX atanapi Lisénsi pilihan gaya] [-] file program-téks ...

pgawk [POSIX atanapi Lisénsi pilihan gaya] -f program-file [-] file ...
pgawk [POSIX atanapi Lisénsi pilihan gaya] [-] file program-téks ...

gambaran

Gawk teh Lisénsi palaksanaan Project urang tina basa programming AWK. Ieu conforms kana harti tina basa dina POSIX 1003,2 Komando Basa Jeung puseurna Standar. Vérsi ieu péngkolan dumasar kana pedaran di The AWK Programming Basa, ku Aho, Kernighan, sarta Weinberger, kalayan fitur tambahan kapanggih dina System V Release 4 versi UNIX awk. Gawk ogé nyadiakeun panganyarna Laboratorium Bell ekstensi awk deui, sarta sajumlah ekstensi Lisénsi-spésifik.

Pgawk mangrupakeun versi Profil of gawk. Éta idéntik dina unggal jalan ka gawk, iwal program ngajalankeun langkung lambat pisan, sarta eta otomatis ngahasilkeun profil palaksanaan dina awkprof.out file nalika rengse. Tempo pilihan --profile, di handap.

Garis paréntah diwangun ku pilihan pikeun gawk sorangan, program téks AWK (lamun teu dibéré via -f atawa pilihan --file), sarta nilai dilakukeun sadia di ARGC na ARGV tos didefinisikeun variabel AWK.

pilihan Format

Pilihan Gawk bisa jadi boh tradisional POSIX hiji pilihan huruf, atanapi pilihan lila gaya Lisénsi. pilihan POSIX mimitian ku single `` - '', bari pilihan lila mimitian ku `` - ''. pilihan panjang anu disadiakeun pikeun duanana fitur Lisénsi-spésifik jeung fitur POSIX-mandated.

Handap standar POSIX, gawk pilihan -specific anu disadiakeun via alesan ka pilihan -W. Sababaraha pilihan -W bisa jadi disadiakeun Unggal pilihan -W ngabogaan pilihan lila pakait, sakumaha wincikan di handap. Alesan pikeun pilihan lila aya boh ngagabung kalayan pilihan ku hiji = tanda, lamun taya spasi intervening, atawa maranéhna bisa jadi disadiakeun dina garis paréntah argumen salajengna. pilihan panjang bisa jadi disingkat, salami singketan tetep unik.

Pilihan

Gawk narima pilihan di handap ieu, didaptarkeun alphabetically.

fs -F

--field-SEPARATOR fs Paké fs keur SEPARATOR widang input (nilai variabel siap pake FS).

-V var = Val

var --assign = Val napelkeun nilai Val ka var variable, saméméh palaksanaan program dimimitian. Nilai variabel sapertos nu sadia ka ngawitan blok hiji program AWK.

-f program-file

--file program-file Baca sumber program AWK ti file program-file, tinimbang tina argumen garis paréntah munggaran. Sababaraha -f (atawa --file) pilihan bisa dipaké.

-mf NNN

-mr NNN Atur rupa wates ELINGAN KA URANG nilai NNN. F bendera susunan jumlah maksimum sawah, jeung bandéra r susunan ukuran catetan maksimum. Dua umbul jeung pilihan -m téh ti Laboratorium Bell Vérsi panalungtikan UNIX awk. Éta téh dipaliré ku gawk, saprak gawk boga wates pre-tangtu.

compat -W

-W tradisional

--compat

Run --traditional dina modeu kasaluyuan. Dina modeu kasaluyuan, gawk behaves identik ka UNIX awk; taya sahiji ekstensi Lisénsi-spésifik anu dipikawanoh. Pamakéan --traditional ieu pikaresep leuwih bentuk séjén tina pilihan ieu. Tempo Lisénsi ekstensi, handap, kanggo inpormasi lengkep.

copyleft -W

hak cipta -W

--copyleft

--copyright Yuyun versi pondok tina Lisénsi pesen informasi hak cipta dina output baku tur kaluar junun.

-W dump-variabel [= file]

--dump-variabel [= file] Yuyun daptar nu disortir variabel global, jenis maranéhanana sarta nilai final pikeun file. Mun euweuh file ieu disadiakeun, gawk ngagunakeun file ngaranna awkvars.out dina diréktori ayeuna.

Gaduh daptar sakabeh variabel global nyaéta jalan anu sae néangan kasalahan panulisan dina program Anjeun. Anjeun oge bakal make pilihan ieu lamun boga program badag kalayan loba fungsi, sarta rék pastikeun yén fungsi anjeun ulah inadvertently nganggo variabel global nu dimaksudkan janten lokal. (Ieu kasalahan utamana gampang nyieun kalawan ngaran basajan variabel kawas i, j, jeung saterusna.)

pitulung -W

pamakéan -W

--tulung

--usage Yuyun kasimpulan rélatif pondok tina pilihan sadia dina output baku. (Per nu Lisénsi Coding Standards, pilihan ieu ngakibatkeun hiji saharita, kaluar suksés.)

-W lint [= fatal]

--lint [= fatal] Nyadiakeun warnings ngeunaan constructs anu dubious atawa non-dibabawa ka otherAWK implementations. Kalawan hiji argumen pilihan tina fatal, warnings lint jadi kasalahan fatal. Ieu bisa jadi drastis, tapi pamakéan na pasti bakal ajak ngembangkeun program AWK cleaner.

-W lint-lami

--lint-lami Nyadiakeun warnings ngeunaan constructs anu teu bisa dibabawa ka versi aslina tina Unix awk.

-W gen-po

--gen-po Scan na parse program AWK, sarta ngahasilkeun file format a Lisénsi .po on kaluaran standar kalawan eusi pikeun sakabéh string localizable dina program. Program sorangan teu dibales. Tempo sebaran gettext Lisénsi pikeun émbaran nu langkung lengkep ihwal file .po.

-W non-decimal-data

--non-decimal-data Cobi octal na hexadecimal nilai dina data input. Paké pilihan ieu kalawan caution hébat!

posix -W

--posix Ieu kabukti dina modeu kasaluyuan, jeung larangan tambahan handap:

*

urutan \ x ngewa teu dipikawanoh.

*

Ngan spasi na tab polah salaku separators sawah nalika FS disetel ka rohangan tunggal, newline henteu.

*

Anjeun teu bisa neruskeun garis sanggeus? na:.

*

The sinonim func keur fungsi keyword teu dipikawanoh.

*

The operator ** na ** = teu bisa dipaké dina tempat ^ sarta ^ =.

*

The fflush () fungsi teu aya.

Profil -W [= prof_file]

--profile [= prof_file] Kirim Profil data ka prof_file. Standar kasebut awkprof.out. Nalika ngajalankeun kalawan gawk, profil kasebut kakara hiji `` geulis dicitak '' versi program. Nalika ngajalankeun kalawan pgawk, profil ngandung diitung palaksanaan unggal pernyataan dina program dina kénca margin sarta fungsi panggero diitung unggal fungsi-diartikeun pamaké.

-W ulang interval

--re-interval Aktipkeun pamakéan ungkapan interval dina ekspresi biasa cocog (tingali ungkapan Biasa, handap). ungkapan interval éta teu tradisional sadia dina basa AWK. The POSIX baku ditambahkeun aranjeunna, sangkan awk na egrep konsisten saling. Sanajan kitu, pamakéan maranéhna kamungkinan pikeun megatkeun program AWK heubeul, jadi gawk ukur nyadiakeun éta lamun aya dipénta ku pilihan ieu, atawa lamun --posix geus dieusian.

Sumber -W program-téks

--source program-téks Paké program-téks sakumaha kode sumber program AWK. Pilihan ieu ngamungkinkeun gampang intermixing fungsi perpustakaan (dipaké via -f sarta pilihan --file) kalawan kode sumber diasupkeun kana garis paréntah. Ieu dimaksudkeun utamina keur sedeng pikeun program AWK badag dipake dina Aksara cangkang.

Vérsi -W

Inpo Vérsi --version Print pikeun salinan tinangtu ieu gawk dina output baku. Ieu mangpaat utamana keur nyaho lamun éta salinan kiwari gawk on Sistim anjeun nepi ka tanggal nu aya kaitannana ka naon nu Free Software Foundation anu dikabaran. Ieu ogé kapaké lamun ngalaporkeun bug. (Per nu Lisénsi Coding Standards, pilihan ieu ngakibatkeun hiji saharita, kaluar suksés.)

- sinyal tungtung pilihan. Ieu téh boga mangpaat pikeun ngawenangkeun alesan salajengna ka program AWK sorangan pikeun mimitian ku `` - ''. Ieu utamana keur konsistensi jeung konvénsi argumen FITML dipaké ku paling program POSIX lianna.

Dina modeu kasaluyuan, sagala pilihan séjén anu flagged sakumaha sah, tapi anu disebutkeun teu dipalire. Dina operasi normal, salami téks program geus disadiakeun, pilihan kanyahoan anu diliwatan dina kana program AWK dina Asép Sunandar Sunarya ARGV pikeun ngolah. Ieu sabageanna bisa dipake keur ngajalankeun program AWK via `` #! '' Mékanisme juru laksana.

AWK program palaksanaan

Hiji program AWK diwangun ku réntétan pernyataan pola-aksi na definisi fungsi pilihan.

pola {pernyataan Peta}

Ngaran fungsi (daptar parameter) {pernyataan}

Gawk mimiti berbunyi sumber program ti program-file (s) lamun dieusian, ti alesan pikeun --source, atawa ti hareup argumen non-pilihan dina garis paréntah. The -f na --source pilihan bisa dipaké sababaraha kali dina garis paréntah. Gawk berbunyi program téks sakumaha lamun sakabeh naskah sumber program-file s sarta jalur komando geus disambungkeun babarengan. Ieu dipake keur ngawangun perpustakaan fungsi AWK, tanpa ngabogaan kaasup aranjeunna dina tiap program AWK anyar anu ngagunakeun éta. Ogé nyadiakeun kamampuhan pikeun nyampur fungsi perpustakaan kalayan program garis paréntah.

Lingkungan variabel AWKPATH hususna jalur pilarian ngagunakeun nalika manggihan payil sumber ngaranna kalawan pilihan -f. Lamun variabel ieu teu aya, jalur standar anu ":. / Usr / lokal / dibagikeun / awk". (The diréktori sabenerna bisa rupa-rupa, gumantung kana kumaha gawk ieu diwangun jeung dipasang.) Mun ngaran file dibikeun ka pilihan -f ngandung hiji `` / '' karakter, teu pilarian jalur anu dipigawé.

Gawk executes program AWK dina urutan handap. Kahiji, sadaya assignments variabel dieusian via pilihan -V anu dipigawé. Salajengna, gawk compiles program kana hiji formulir internal. Lajeng, gawk executes kodeu di ngawitan block (s) (lamun sagala), lajeng proceeds maca unggal file ngaranna dina Asép Sunandar Sunarya ARGV. Mun aya euweuh file ngaranna dina garis paréntah, gawk berbunyi asupan baku.

Mun hiji Ngaran koropak on garis paréntah boga formulir var = Val mangka diperlakukeun salaku ngerjakeun variabel. Variabel var bakal ditugaskeun nilai Val. (Ieu kajadian sanggeus sagala dimimitian block (s) geus amprok.) Garis Komando variabel ngerjakeun nya paling mangpaat pikeun dinamis assigning nilai keur variabel AWK migunakeun ngadalikeun kumaha input anu pecah jadi sawah jeung rékaman. Éta ogé mangpaat pikeun ngadalikeun kaayaan lamun sababaraha pas nu diperlukeun ngaliwatan hiji file data tunggal.

Lamun nilai unsur nu tangtu ARGV kosong ( ""), gawk skips leuwih eta.

Pikeun unggal catetan di input, gawk tés ningali lamun eta cocog sagala pola dina program AWK. Pikeun unggal pola nu catetan nu cocog, peta pakait geus dieksekusi. The pola anu diuji di urutan aranjeunna lumangsung dina program.

Tungtungna, sanggeus kabeh input keur exhausted, gawk executes kodeu di block TAMAT (s) (lamun sagala).

Variabel, Records, sarta Widang

variabel AWK anu dinamis; aranjeunna datang kana ayana basa aranjeunna keur mimiti dipake. nilai maranéhanana boh angka floating-titik atanapi string, atawa duanana, gumantung kana kumaha aranjeunna nu dipaké. AWK ogé boga salah arrays dimensi; arrays kalawan sababaraha dimensi bisa jadi simulated. Sababaraha variabel pre-didefinisikeun nu diatur sakumaha program ngalir; ieu bakal didadarkeun salaku diperlukeun tur diringkeskeun handap.

rékaman

Biasana, rékaman anu dipisahkeun ku karakter newline. Anjeun bisa ngadalikeun kumaha rékaman anu dipisahkeun ku assigning nilai ka diwangun-di variabel RS. Mun RS téh sagala karakter tunggal, karakter nu misahkeun rékaman. Upami teu kitu, RS mangrupakeun éksprési biasa. Téks dina input nu cocog ekspresi biasa ieu misahkeun catetan. Sanajan kitu, dina mode kasaluyuan, mung karakter mimiti nilai string na dipaké pikeun misahkeun rékaman. Mun RS diatur kana string null, teras rékaman anu dipisahkeun ku garis kosong. Nalika RS diatur kana string null, karakter newline salawasna tindakan salaku SEPARATOR sawah, sajaba naon nilai FS mungkin gaduh.

widang

Salaku unggal catetan input keur maca, gawk splits catetan kana sawah, ngagunakeun nilai variabel FS salaku SEPARATOR sawah. Mun FS mangrupakeun karakter tunggal, huma anu dipisahkeun ku karakter éta. Mun FS teh string null, teras tiap karakter individu janten widang misah. Upami teu kitu, FS diperkirakeun jadi ekspresi biasa pinuh. Dina kasus husus nu FS mangrupakeun spasi tunggal, huma anu dipisahkeun ku ngalir tina spasi jeung / atawa tab jeung / atawa newlines. (Tapi ningali sawala ngeunaan --posix, handap). CATETAN: Nilai IGNORECASE (tempo di handap) ogé mangaruhan kumaha widang anu dibeulah nalika FS mangrupakeun éksprési biasa, tur kumaha rékaman anu dipisahkeun lamun RS mangrupakeun éksprési biasa.

Lamun variabel FIELDWIDTHS disetel ka daptar spasi dipisahkeun tina angka, unggal widang diperkirakeun geus dibereskeun lebar, sarta gawk splits up catetan ngagunakeun lebaran dieusian. Nilai FS geus teu dipalire. Assigning hiji nilai anyar pikeun FS overrides pamakéan FIELDWIDTHS, sarta restores paripolah standar.

Unggal widang dina catetan input bisa jadi referenced ku posisi na, $ 1, $ 2, jeung saterusna. $ 0 nyaeta sakabeh catetan. Widang teu perlu kapanggih referenced ku konstanta:

n = 5
print $ n

prints widang kalima dina catetan input.

Variabel NF disetel ka total jumlah sawah di catetan input.

Rujukan ka SAWAH non-existent (ie widang sanggeus $ NF) ngahasilkeun null-string. Sanajan kitu, assigning ka sawah non-existent (misalna $ (NF + 2) = 5) ngaronjatkeun nilai NF, nyiptakeun sagala widang intervening jeung string null sakumaha nilai, sarta ngabalukarkeun nilai $ 0 bisa recomputed, kalawan huma keur dipisahkeun ku nilai OFS. Rujukan ka SAWAH wilanganana négatip ngabalukarkeun kasalahan fatal. Decrementing NF ngabalukarkeun nilai tina widang kaliwat nilai anyar bisa leungit, sarta nilai $ 0 bisa recomputed, jeung huma keur dipisahkeun ku nilai OFS.

Assigning nilai ka médan aya ngabalukarkeun sakabeh catetan bisa diwangun deui lamun $ 0 geus referenced. Nya kitu assigning hiji nilai jeung $ 0 ngabalukarkeun catetan bisa resplit, nyieun nilai anyar keur huma.

Diwangun-di variabel

Gawk 's diwangun-di variabel nyaéta:

ARGC

Jumlah alesan jalur komando (teu kaasup pilihan pikeun gawk, atawa sumber program).

ARGIND

Indéks dina ARGV sahiji file ayeuna keur diprosés.

ARGV

Asép Sunandar Sunarya ti alesan jalur komando. Asép Sunandar Sunarya téh saestuna ti 0 nepi ka ARGC - 1. dinamis ngarobah eusi ARGV bisa ngadalikeun payil dipaké pikeun data.

BINMODE

Dina sistem non-POSIX, hususna pamakéan `` binér '' mode pikeun sakabéh file I / O. nilai numerik tina 1, 2, atanapi 3, tangtukeun nu file input, file output, atanapi sagala file masing-masing kedah nganggo binér I / O. Nilai string of "r", atawa "w" nangtukeun yén file input, atawa payil kaluaran masing-masing kedah nganggo binér I / O. Nilai string of "RW" atawa "WR" nangtukeun yen sakabeh file kedah nganggo binér I / O. Sagala nilai string lianna geus diperlakukeun salaku "RW", tapi dibangkitkeun pesen warning.

CONVFMT

The format konvérsi pikeun angka "% .6g", sacara standar.

ENVIRON

Hiji Asép Sunandar Sunarya ngandung nilai lingkungan ayeuna. Asép Sunandar Sunarya téh saestuna ku variabel lingkungan, unggal unsur keur nilai variabel nu (misalna ENVIRON [ "HOME"] bisa jadi / home / Arnold). Ngarobah Asép Sunandar Sunarya ieu teu mangaruhan lingkungan katempo ku program anu gawk spawns via redirection atawa sistem (fungsi).

ERRNO

Mun hiji kasalahan sistem lumangsung boh ngalakonan redirection pikeun getline, salila dibaca pikeun getline, atanapi pas keur nutup (), teras ERRNO bakal ngandung hiji senar ngajéntrékeun kasalahan. Nilai nunut ka tarjamah dina Daérah non-Inggris.

FIELDWIDTHS

A-spasi bodas dipisahkeun daptar fieldwidths. Nalika set, gawk parses asupan kana widang lebar dibereskeun, tinimbang ngagunakeun nilai variabel FS salaku SEPARATOR sawah.

NAMI FILE

Ngaran sahiji file input ayeuna. Mun euweuh file nu dieusian di garis paréntah, nilai Ngaran koropak geus `` - ''. Sanajan kitu, Ngaran koropak ieu undefined jero dimimitian block (iwal diatur ku getline).

FNR

Jumlah catetan input dina file input ayeuna.

FS

The SEPARATOR widang input, rohangan sacara standar. Tempo Widang, luhur.

IGNORECASE

Ngatur hal-sensitipitas sadaya ekspresi sarta string operasi biasa. Mun IGNORECASE ngabogaan non-enol nilai, teras babandinganana string tur cocog pola di aturan, médan bengkahna kalawan FS, catetan misahkeun kalawan RS, ekspresi nu biasa cocog kalayan ~ na! ~, Sarta gensub nu (), gsub (), indéks () , cocok (), pamisah (), sarta sub () diwangun-di fungsi sadayana malire hal nalika ngalakukeun operasi ekspresi biasa. CATETAN: Array subscripting henteu kapangaruhan, atawa ngarupakeun fungsi asort ().

Ku kituna, lamun IGNORECASE teu sarua jeung nol, / AB / cocog sakabéh senar "AB", "AB", "AB", sarta "AB". Salaku kalawan sakabeh variabel AWK, nilai awal IGNORECASE nyaeta nol, jadi kabeh nu biasa ekspresi sarta string operasi anu normal hal-sensitip. Dina Unix, anu pinuh ISO 8859-1 Latin-1 karakter set anu dipake nalika ignoring hal.

LINT

Nyadiakeun kadali dinamis tina pilihan --lint ti jeroeun hiji program AWK. Lamun leres, gawk warnings prints lint. Nalika palsu, eta henteu. Nalika ditugaskeun nilai string "fatal", warnings lint jadi kasalahan fatal, persis kawas --lint = fatal. Sagala nilai sabenerna lianna ngan prints warnings.

NF

Jumlah huma dina catetan input ayeuna.

NR

Jumlah total tina rékaman input ditempo jadi jauh.

OFMT

The format output keur nomer, "% .6g", sacara standar.

OFS

The SEPARATOR widang output, rohangan sacara standar.

ORS

Catetan kaluaran SEPARATOR, ku dituna newline a.

PROCINFO

Unsur Asép Sunandar Sunarya ieu nyadiakeun aksés ka émbaran ngeunaan program AWK ngajalankeun. Dina sababaraha sistem, meureun aya elemen dina Asép Sunandar Sunarya, "group1" ngaliwatan "grup n" keur sababaraha n, nu jumlah Grup suplemén yén prosés nu boga. Paké dina operator pikeun nguji pikeun elemen ieu. Unsur handap dijamin janten sadia:

PROCINFO [ "egid"]

nilai getegid (2) panggero sistem.

PROCINFO [ "euid"]

nilai geteuid (2) panggero sistem.

PROCINFO [ "FS"]

"FS" lamun lapangan bengkahna kalawan FS aya dina pangaruh, atawa "FIELDWIDTHS" lamun lapangan bengkahna kalawan FIELDWIDTHS aya dina pangaruh.

PROCINFO [ "gid"]

nilai getgid (2) panggero sistem.

PROCINFO [ "pgrpid"]

grup prosés ID tina prosés ayeuna.

PROCINFO [ "pid"]

prosés ID tina prosés ayeuna.

PROCINFO [ "ppid"]

prosés indungna ID tina prosés ayeuna.

PROCINFO [ "uid"]

nilai getuid (2) panggero sistem.

RS

Catetan input SEPARATOR, ku dituna newline a.

RT

Catetan terminator. Gawk susunan RT kana téks input nu loyog kana karakter atawa ekspresi biasa dieusian ku RS.

RSTART

Indéks sahiji karakter mimiti loyog ku cocok (); 0 lamun aya cocok. (Ieu ngakibatkeun yen indéks karakter mimitian jam hiji.)

RLENGTH

Panjang string loyog ku cocok (); -1 lamun henteu cocok.

SUBSEP

Karakter nu dipake pikeun misahkeun sababaraha subscripts di elemen Asép Sunandar Sunarya, sacara standar "\ 034".

TEXTDOMAIN

Téks domain sahiji program AWK; dipaké pikeun manggihan tarjamahan localized pikeun string program urang.

Arrays

Arrays anu subscripted kalawan éksprési antara kurung pasagi ([na]). Mun babasan mangrupa daptar babasan (expr, expr ...) mangka Asép Sunandar Sunarya subscript mangrupakeun string diwangun tina concatenation tina (string) nilai unggal ekspresi, dipisahkeun ku nilai variabel SUBSEP. fasilitas ieu dipaké pikeun simulate arrays balikeun dimensioned. Salaku conto:

i = "A"; j = "B"; k = "C"
x [i, j, k] = "halo, dunya \ n"

nangtukeun string nu "halo, dunya \ n" pikeun unsur tina Asép Sunandar Sunarya x anu saestuna ku string "A \ 034B \ 034C". Kabéh arrays di AWK anu associative, nyaéta saestuna ku nilai senar.

Dina operator husus bisa dipaké dina upami atanapi bari pernyataan lamun ningali hiji Asép Sunandar Sunarya boga hiji indéks diwangun ku hiji nilai nu tangtu.

lamun (Val di Asép Sunandar Sunarya) Asép Sunandar Sunarya print [Val]

Mun Asép Sunandar Sunarya geus sababaraha subscripts, pamakéan (i, j) dina Asép Sunandar Sunarya.

Dina nyusunna bisa ogé dipaké dina pikeun loop mun iterate leuwih sagala unsur hiji Asép Sunandar Sunarya.

Unsur bisa jadi dihapus tina hiji Asép Sunandar Sunarya ngagunakeun pernyataan pupus. Pernyataan Hapus bisa ogé dipaké pikeun ngahapus sakabéh eusi hiji Asép Sunandar Sunarya, ngan alatan nangtukeun nami Asép Sunandar Sunarya tanpa subscript a.

Variabel Ngetik Jeung Konversi

Variabel jeung widang bisa jadi (floating titik) nomer, atawa senar, atawa duanana. Kumaha nilai variabel nu geus diinterpretasi gumantung konteks na. Mun dipaké dina babasan numerik, éta bakal diolah sakumaha jumlahna, lamun dipaké salaku senar éta bakal diolah sakumaha string a.

Maksa variabel ka dirawat sakumaha angka hiji, nambahan 0 kana eta; maksa ka dirawat sakumaha string a, concatenate dinya jeung string hypothesis.

Lamun senar kudu dirobah jadi angka hiji, artos ieu dilakonan make strtod (3). Sajumlah anu dirobah jadi string anu ku ngagunakeun nilai CONVFMT salaku senar format keur sprintf (3), jeung nilai numerik tina variabel sakumaha argumen. Sanajan kitu, sanajan sakabeh nomer di AWK anu ngambang-titik, nilai integral sok dirobah jadi wilangan buleud. Ku kituna, tinangtu

CONVFMT = "% 2.2f" a = 12 b = a ""

variabel b ngabogaan nilai string of "12" teu "12.00".

Gawk ngalaksanakeun babandinganana saperti kieu: Mun dua variabel nyaéta numerik, aranjeunna dibandingkeun numerik. Lamun salah sahiji nilai téh numerik sarta séjén ngabogaan nilai string anu mangrupakeun `` string numerik, '' lajeng babandinganana ogé dipigawé numerik. Disebutkeun, nilai numerik geus dirobah jadi string a sarta ngabandingkeun string anu dipigawé. Dua senar anu dibandingkeun, tangtosna, sakumaha senar. Catetan yen standar POSIX manglaku konsép `` string numerik '' madhab, malah mun konstanta senar. Sanajan kitu, ieu téh jelas lepat, sarta gawk teu ngalakukeun ieu. (Untungna, ieu dibereskeun dina versi saterusna standar.)

Catet yén konstanta string, kayaning "57", henteu string numerik sipatna konstanta senar. Pamanggih `` string numerik '' ngan manglaku ka sawah, input getline, Ngaran koropak, elemen ARGV, elemen ENVIRON jeung unsur hiji Asép Sunandar Sunarya dijieun ku pamisah () anu string numerik. Gagasan dasar éta input pamaké, sarta asupan pamaké wungkul, éta Sigana numerik, kudu diolah ku cara éta.

variabel Uninitialized boga nilai numerik 0 jeung nilai string "" (null, atanapi kosong, string).

Octal na Hexadecimal konstanta

Dimimitian ku versi 3.1 tina gawk, anjeun bisa make C-gaya octal sarta konstanta hexadecimal di AWK kode sumber program Anjeun. Contona, nilai octal 011 sarua decimal 9 jeung nilai hexadecimal 0x11 sarua decimal 17.

konstanta string

Konstanta string di AWK anu urutan tina karakter enclosed antara tanda petik ganda ( ") Dina string, urutan ngewa tangtu anu dipikawanoh, saperti dina C. ieu.:

\\

A backslash literal.

\ a

The `` ngageter '' karakter; biasana dina karakter ASCII Bel.

\ b

backspace.

\ f

formulir-eupan.

\ n

newline.

\ r

kenop mulang.

\ t

tab horizontal.

\ v

tab nangtung.

\ x hex digit

The karakter digambarkeun ku string of digit hexadecimal nuturkeun \ x. Saperti dina ANSIC, sadaya digit hexadecimal handap dianggap bagian tina runtuyan ngewa. (Fitur ieu kedah ngabejaan urang hal ngeunaan rarancang basa ku panitia.) Misalna, "\ x1B" teh ASCIIESC (ngewa) karakter.

\ ddd

Karakter nu digambarkeun ku runtuyan 1-, 2-, atanapi 3-angka tina digit octal. Misalna, "\ 033" teh ASCII ESC (ngewa) karakter.

\ c

The literal karakter c.

The urutan ngewa bisa ogé dipaké di jero ungkapan biasa konstanta (misalna / [\ t \ f \ n \ r \ v] / cocog karakter whitespace).

Dina modeu kasaluyuan, dina karakter digambarkeun ku urutan ngewa octal na hexadecimal nu diperlakukeun sacara harfiah lamun dipaké dina konstanta ekspresi biasa. Ku kituna, / a \ 52b / sarua jeung / a \ * b /.

Pola na Laku lampah

AWK mangrupakeun basa garis-berorientasi. pola asalna mimitina, lajeng aksi. Pernyataan Peta nu enclosed di {na}. Boh pola nu bisa jadi leungit, atawa tindakan bisa jadi leungit, tapi, tangtosna, moal duanana. Lamun pola kasebut leungit, aksi kasebut dieksekusi keur unggal catetan tunggal input. Hiji peta leungit sarua jeung

{Print}

nu prints sakabéh catetan.

Komentar dimimitian ku `` # '' karakter, sarta nuluykeun nepi ka ahir jalur. garis kosong bisa dipaké pikeun pernyataan misah. Normal, hiji pernyataan ditungtungan make newline a, kumaha oge, ieu teh hal pikeun garis tungtung dina ``, '', {,? ,:, &&, atawa || . Garis tungtung dina ngalakukeun atawa nu sejenna oge gaduh pernyataan maranéhanana otomatis terus kana garis handap. Dina kasus séjén, mangrupa jalur bisa dituluykeun ku tungtung eta ku ', nu hal newline bakal dipalire.

Sababaraha pernyataan bisa jadi ditunda hiji garis ku misahkeun aranjeunna sareng ``; ''. Ieu lumaku pikeun duanana kana pernyataan dina peta bagian pasangan pola-aksi (kasus dawam), sarta ka pernyataan pola-aksi sorangan.

pola

pola AWK bisa jadi salah sahiji di handap:

Dimimitian TAMAT / ekspresi biasa / pola ekspresi relational && pola pola || pola pola? pola: pola (pola)! pola pattern1, pattern2

Ngawitan na TAMAT aya dua rupa husus tina pola nu henteu teruji ngalawan input. Bagian Peta sadaya dimimitian pola nu dihijikeun jadi lamun sagala pernyataan kungsi ditulis dina ngawitan block tunggal. Éta nu dieksekusi saméméh salah sahiji input keur maca. Nya kitu, kabeh blok TAMAT anu dihijikeun, sarta dibales lamun kabeh input keur exhausted (atawa lamun hiji pernyataan kaluar geus dieksekusi). Ngawitan na pola TAMAT teu bisa digabungkeun jeung pola sejen di ungkapan pola. Ngawitan na pola TAMAT teu tiasa gaduh bagian Peta leungit.

Pikeun / biasa ekspresi / pola, pernyataan pakait geus dieksekusi pikeun tiap catetan input nu cocog babasan nu biasa. Ungkapan biasa téh sarua jeung pamadegan di egrep (1), sarta diringkeskeun handap.

Hiji ungkapan relational bisa migunakeun salah sahiji operator diartikeun di handap di bagian on lampah. Ieu umumna nguji naha widang tangtu cocog ungkapan biasa tangtu.

&& The, || , Sarta! operator anu logis AND, logis OR, sarta logis NOT masing-masing sakumaha dina C. Aranjeunna ngalakukeun evaluasi pondok-circuit, ogé salaku dina C, sarta digunakeun pikeun ngagabungkeun ungkapan pola leuwih primitif. Saperti dina paling basa, kurung bisa dipaké pikeun ngarobah urutan evaluasi.

The:? Operator téh kawas nu operator sarua di C. Upama pola mimitina bener mangka pola dipaké pikeun nguji teh pola kadua, disebutkeun eta teh katilu. Ngan salah sahiji pola kadua jeung katilu anu dievaluasi.

Bentuk pattern1, pattern2 tina hiji ekspresi disebut rentang pola. Ieu cocog kabeh rékaman input dimimitian ku catetan nu cocog pattern1, sarta nuluykeun dugi rékaman nu cocog pattern2, inklusif. Teu ngagabungkeun jeung sagala diurutkeun séjén ekspresi pola.

ungkapan biasa

Ungkapan biasa téh jenis nambahan kapanggih dina egrep. Éta téh diwangun ku karakter kieu:

c

loyog jeung non-metacharacter c.

\ c

cocog karakter literal dina c.

.

cocog karakter wae kaasup newline.

^

cocog awal string a.

$

cocog tungtung string a.

[ABC ...]

Daptar karakter, cocog salah sahiji karakter ABC ....

[^ ABC ...]

Daptar karakter negated, cocog karakter naon iwal ABC ....

r1 | r2

alternation: cocog boh r1 atanapi r2.

r1r2

concatenation: cocog r1, lajeng r2.

r +

cocog salah sahiji atawa leuwih r 's.

r *

cocog enol atawa leuwih r 's.

r?

cocog enol atawa salah r 's.

(R)

golongan: patandingan r.

r {n}

r {n,}

r {n, m} Hiji atawa dua angka jero braces denote hiji éksprési interval. Lamun aya salah sahiji angka dina braces, harita biasa ekspresi r diulang n kali. Mun aya dua angka dipisahkeun ku koma, r diulang n ka kali m. Lamun aya salah sahiji angka dituturkeun ku koma, teras r diulang sahenteuna n kali.

Ungkapan interval nu ngan sadia upami boh --posix atanapi --re-interval keur dieusian dina garis paréntah.

\ y

loyog jeung string kosong di boh awal atawa ka ahir kecap.

\ B

loyog jeung string kosong dina kecap.

\ <

loyog jeung string kosong dina awal kecap.

\>

loyog jeung string kosong di ahir kecap.

\ w

cocog sagala karakter Kecap-konstituén (hurup, angka, atawa underscore).

\ W

cocog sagala karakter nu teu Kecap-konstituén.

\ `

loyog jeung string kosong di awal hiji panyangga (string).

\ '

loyog jeung string kosong di ahir panyangga a.

The urutan ngewa anu sah di konstanta string (tempo di handap) oge valid dina ungkapan biasa.

Kelas karakter anu ciri anyar diwanohkeun dina standar POSIX. Hiji kelas karakter mangrupakeun notasi husus pikeun ngajéntrékeun béréndélan tina aksara anu boga atribut husus, tapi dimana karakter sabenerna dirina bisa rupa-rupa ti nagara ka nagara jeung / atawa tina karakter disetel ka set karakter. Contona, dina Pamanggih ngeunaan naon hiji karakter alphabetic béda di AS jeung di Perancis.

Hiji kelas karakter ngan valid dina ekspresi biasa jero kurung tina daptar karakter. Kelas karakter diwangun ku [:, keyword a denoting kelas, sarta:]. The kelas karakter ditetepkeun ku standar POSIX téh:

[: alnum:]

karakter alfanumerik.

[: alfa:]

karakter Alphabetic.

[: kosong:]

Spasi atanapi tab karakter.

[: cntrl:]

karakter kontrol.

[: angka:]

karakter numerik.

[: grafik:]

Karakter nu duanana diprint na katingali. (A spasi aya diprint, tapi teu katingali, bari hiji hiji duanana.)

[: handap:]

Handap-hal karakter alphabetic.

[: print:]

karakter diprint (aksara nu teu ngadalikeun karakter.)

[: punct:]

karakter tanda baca (karakter anu teu huruf, digit, karakter kontrol, atawa karakter spasi).

[: spasi:]

karakter spasi (kayaning spasi, tab, sarta formfeed, ka sawatara ngaran).

[: luhur:]

Aksara-gede karakter alphabetic.

[: xdigit:]

Karakter nu hexadecimal digit.

Contona, saméméh standar POSIX, mun cocog karakter alfanumerik, anjeun bakal geus kungsi nulis / [A-za-z0-9] /. Mun set karakter anjeun kagungan karakter alphabetic lianna di dinya, teu bakal cocog aranjeunna, sarta lamun set karakter anjeun dipake keur gabungan béda ti ASCII, ieu malah teu bisa cocog karakter ASCII alpanumérik. Jeung kelas karakter POSIX, anjeun tiasa nyerat / [[: alnum:]] /, sarta ieu cocog Hurup alphabetic na numerik di set karakter Anjeun.

Dua urutan husus tambahan bisa muncul dina béréndélan karakter. Ieu dilarapkeun ka susunan karakter non-ASCII, nu tiasa gaduh simbol tunggal (disebut elemen collating) nu digambarkeun kalayan leuwih ti hiji karakter, kitu ogé sababaraha karakter anu sarimbag pikeun collating, atawa asihan, tujuan. (Misalna, dina basa Perancis, nu polos `` e '' sarta e` kubur-beraksen anu sarimbag.)

Collating Simbol

Hiji simbol collating mangrupakeun multi-karakter collating unsur enclosed di [. na.]. Contona, upami ch mangrupakeun unsur collating, teras [[.ch.]] Mangrupakeun éksprési biasa nu cocog unsur collating ieu, bari [ch] mangrupakeun éksprési biasa nu cocog boh c atanapi h.

Kasaruaan kelas

Hiji kelas sarua nyaéta ngaran Lokalisasi-spésifik pikeun daptar karakter anu sarua. Ngaranna geus enclosed di [= na =]. Contona, nami e bisa dipaké pikeun ngagambarkeun sakabéh `` e, '' `` e ',' 'sarta `` e`.' 'Dina hal ieu, [[= e =]] mangrupakeun éksprési biasa anu cocog salah sahiji e, e ', atanapi e`.

fitur ieu pohara berharga di Daérah diomongkeun non-Inggris. Perpustakaan fungsi nu gawk kagunaan keur ekspresi nu biasa cocog ayeuna ngan ngakuan kelas karakter POSIX; aranjeunna henteu mikawanoh collating lambang atanapi kelas sarua.

The \ y, \ B, \ <, \>, \ w, \ W, \ `, sarta operator \ 'nu husus keur gawk; aranjeunna ekstensi dumasar kana fasilitas dina Lisénsi ekspresi biasa perpustakaan.

Rupa-rupa paréntah pilihan garis ngadalikeun kumaha gawk interprets karakter dina ungkapan biasa.

Taya pilihan

Dina kasus standar, gawk nyadiakeun sagala fasilitas tina POSIX ungkapan biasa na theGNU operator ekspresi biasa ditétélakeun di luhur. Sanajan kitu, ungkapan interval teu didukung.

--posix

Ngan POSIX ungkapan biasa anu dirojong, anu operator Lisénsi henteu husus. (Misalna, \ w cocog a literal w). ungkapan interval anu diwenangkeun.

--traditional

Tradisional Unix awk ungkapan biasa nu loyog. The operator Lisénsi henteu husus, ungkapan interval henteu sadia, tur ngayakeun nu kelas karakter POSIX ([[: alnum:]] jeung saterusna). Karakter digambarkeun ku urutan ngewa octal na hexadecimal nu diperlakukeun sacara harfiah, sanajan aranjeunna ngagambarkeun metacharacters ekspresi biasa.

--re-selang

Ngawenangkeun ungkapan interval dina ungkapan biasa, sanajan --traditional geus disadiakeun.

lampah

Pernyataan Peta nu enclosed di braces, {na}. pernyataan Peta diwangun tina ngerjakeun biasa, kondisional, sarta looping pernyataan kapanggih dina paling basa. The operator, pernyataan kontrol, sarta pernyataan input / output sadia nu patterned sanggeus maranéhanana di C.

operator

The operator di AWK, dina urutan tina nurunna precedence, anu

(...)

ngagolongkeun

$

rujukan sawah.

++ -

Increment na decrement, duanana awalan jeung postfix.

^

Exponentiation (** bisa ogé dipaké, sarta ** = pikeun operator ngerjakeun).

+ -!

Unary tambah, dikurangan unary, sarta negation logis.

* /%

Multiplication, division, sarta modulus.

+ -

Tambahan sarta pangurangan.

angkasa

String concatenation.

<>

<=> =

! = == The operator relational biasa.

~! ~

cocok ekspresi biasa, cocok negated. CATETAN: Ulah make ekspresi biasa konstanta (/ foo /) dina sisi kénca-perantaraan hiji ~ atanapi ~!. Ngan make hiji di sisi-sisi katuhu. Babasan / foo / ~ exp boga harti sarua salaku (($ 0 ~ / foo /) ~ exp). Ieu biasana teu naon ieu dimaksudkeun.

di

kaanggotaan Asép Sunandar Sunarya.

&&

Logis AND.

||

Logis OR.

?:

C ekspresi kondisional. Ieu boga formulir expr1? expr2: expr3. Mun expr1 bener, nilai babasan téh expr2, disebutkeun eta expr3. Ngan salah sahiji expr2 na expr3 ieu dievaluasi.

= + = - =

* = / =% = ^ = Ngerjakeun. Duanana ngerjakeun mutlak (var = nilai) jeung operator-ngerjakeun (bentuk séjén) anu didukung.

pernyataan kontrol

The pernyataan kontrol nyaéta kieu:

lamun (kaayaan) pernyataan [pernyataan sejenna] bari (kaayaan) pernyataan do pernyataan bari (kaayaan) pikeun (expr1; expr2; expr3) pernyataan keur (var di Asép Sunandar Sunarya) pernyataan putus nuluykeun ngahapus Asép Sunandar Sunarya [indéks] ngahapus Asép Sunandar Sunarya kaluar [ekspresi] { pernyataan}

I / O pernyataan

Asupan / pernyataan kaluaran nyaéta kieu:

nutup (file [, kumaha])

Tutup file, pipa atawa ko-prosés. The pilihan kumaha kedah ngan dipaké nalika nutup hiji tungtung hiji pipa dua arah ka co-prosés. Ieu kedah janten nilai string, boh "pikeun" atawa "ti".

getline

Atur $ 0 tina catetan input hareup; Nyetél NF, NR, FNR.

getline

Atur $ 0 tina catetan saterusna file; Nyetél NF.

getline var

Atur var tina catetan input hareup; Nyetél NR, FNR.

getline var

Atur var tina catetan saterusna file.

paréntah | getline [var]

Ngajalankeun paréntah piping kaluaran boh kana $ 0 atawa var, sakumaha luhur.

paréntah | & getline [var]

Ngajalankeun paréntah salaku co-prosés piping kaluaran boh kana $ 0 atawa var, sakumaha luhur. Co-prosés nu hiji extension gawk.

Teras

Ngeureunkeun ngolah catetan input ayeuna. Catetan input hareup geus maca jeung ngolah dimimitian leuwih jeung pola kahiji dina program AWK. Lamun tungtung input data anu ngahontal, blok TAMAT (s), upami sagala, anu dibales.

nextfile

Ngeureunkeun ngolah file input ayeuna. The hareup catetan input dibaca asalna tina file input salajengna. Ngaran koropak tur ARGIND nu diropéa, FNR nyaeta reset ka 1, sarta ngolah dimimitian leuwih jeung pola kahiji dina program AWK. Lamun tungtung input data anu ngahontal, blok TAMAT (s), upami sagala, anu dibales.

nyitak

Prints catetan ayeuna. Catetan output keur terminated jeung nilai variabel ORS.

print expr-daptar

Prints ungkapan. Unggal ekspresi anu dipisahkeun ku nilai variabel OFS. Catetan output keur terminated jeung nilai variabel ORS.

print expr-daftar> file

Prints ungkapan dina file. Unggal ekspresi anu dipisahkeun ku nilai variabel OFS. Catetan output keur terminated jeung nilai variabel ORS.

printf fmt, expr-daptar

Format na print.

printf fmt, expr-daftar> file

Pormat jeung nyitak dina file.

Sistim (cmd-garis)

Ngaéksekusi paréntah cmd-garis, sarta balik status kaluar. (Ieu bisa jadi teu sadia di sistem non-POSIX.)

fflush ([file])

Siram sagala buffers pakait jeung file kaluaran kabuka atanapi file pipe. Lamun file ieu leungit, teras kaluaran standar ieu flushed. Lamun file teh string null, teras sadaya file kaluaran kabuka sarta pipa kudu buffers maranéhna flushed.

Redirections kaluaran tambahan anu diwenangkeun pikeun nyitak jeung printf.

nyitak ... >> file

appends output keur file.

nyitak ... | parentah

nyerat dina pipe a.

nyitak ... | & paréntah

ngirimkeun data ka co-prosés.

Paréntah getline mulih 0 on ahir file na -1 on kasalahan. Kana kasalahan, ERRNO ngandung hiji senar ngajéntrékeun masalah.

CATETAN: Upami ngagunakeun pipe atawa ko-prosés pikeun getline, atanapi ti print atawa printf dina loop, Anjeun kedah nganggo nutup () pikeun nyieun instansi anyar sorana. AWK henteu otomatis pipa nutup atanapi ko-prosés nalika maranéhna balik EOF.

The printf Pernyataan

The AWK versi tina pernyataan printf na sprintf () fungsi (tempo di handap) narima format spésifikasi konversi handap:

% c

Hiji karakter ASCII. Mun argumen dipaké pikeun% c nyaéta numerik, mangka diperlakukeun salaku karakter hiji tur dicitak. Upami teu kitu, argumen dianggap janten senar, sarta hiji-hijina hurup mimiti string anu dicitak.

% d,% abdi

Sajumlah decimal (bagian integer).

% e,% E

A floating angka titik tina formulir [-] d.dddddde [+ -] DD. The format% E migunakeun E tinimbang e.

% f

A floating angka titik tina formulir [-] ddd.dddddd.

% g,% G

Paké% e atawa konvérsi% f, whichever nyaeta pondok, jeung nol nonsignificant diteken. The format% G migunakeun% E tinimbang% e.

% o

Hiji angka octal unsigned (ogé hiji integer).

% u Hiji angka unsigned decimal (deui, hiji integer).

% s

Hiji senar karakter.

% x,% X

Hiji angka hexadecimal unsigned (hiji integer). The format% X migunakeun ABCDEF tinimbang abcdef.

%%

Hiji karakter% tunggal; euweuh argumen dirobah.

Pilihan, parameter tambihan bisa bohong antara% na hurup kontrol:

count $

Nganggo count 'th argumen di titik ieu pormat nu. Ieu disebut specifier posisional na dimaksudkeun utamina keur dipake dina versi ditarjamahkeun tina format string, moal di téks aslina tina hiji program AWK. Ieu mangrupakeun extension gawk.

-

éksprési kudu ditinggalkeun-diyakinkeun dina widang na.

angkasa

Pikeun conversions numerik, awalan nilai positif sareng spasi, jeung nilai négatip kalawan tanda dikurangan.

+

The tambah tanda, dipaké méméh modifier lebar (tempo di handap), nyebutkeun mun salawasna nyadiakeun tanda pikeun conversions numerik, sanajan data bisa formatna nya positif. The + overrides nu modifier spasi.

#

Paké mangrupa `` formulir alternatif '' pikeun hurup kontrol tangtu. Pikeun% o, nyadiakeun hiji ngarah sarua jeung nol. Pikeun% x, sarta% X, nyadiakeun hiji 0x ngarah atanapi 0X pikeun hasil nonzero. Pikeun% e,% E, sarta% f, hasilna salawasna ngandung hiji titik decimal. Pikeun% g, sarta% G, labuh nol teu dikaluarkeun tina hasilna.

0

A ngarah 0 (enol) tindakan minangka bandéra hiji, éta nunjukkeun kaluaran kudu padded kalawan zeroes tinimbang spasi. Ieu lumaku malah mun format kaluaran non-numerik. bendera ieu ngan boga pangaruh nalika lebar sawah anu lega ti nilai ka jadi dicitak.

rubak

sawah kudu padded mun lebar ieu. sawah anu normal padded kalawan spasi. Lamun 0 bendera geus dipaké, mangka padded kalawan zeroes.

. prec

Sajumlah anu hususna precision nu ngagunakeun nalika percetakan. Keur% e,% E, sarta% format f, ieu hususna jumlah digit rek dicitak kana katuhu tina titik decimal. Keur% g, sarta% format G, éta hususna jumlah maksimum signifikan digit. Keur% d,% o,% i,% u,% x, sarta format% X, eta hususna jumlah minimum digit pikeun nyitak. Pikeun% s, eta hususna jumlah maksimum hurup ti string nu kudu dicitak.

Lebar dinamis tur kamampuhan prec tina ANSI C printf () Kabiasaan anu didukung. A * di tempat boh ti rubak atawa spésifikasi prec ngabalukarkeun nilai maranéhna pikeun dicokot tina daptar argumen pikeun printf atanapi sprintf (). Pikeun ngagunakeun specifier posisional kalayan rubak dinamis atawa precision, nyadiakeun count $ sanggeus * di string format. Contona, "% 3 $ * 2 $. * 1 $ s".

Ngaran File husus

Lamun ngalakukeun I / O redirection ti boh citak atawa printf kana file a, atawa liwat getline ti hiji payel, gawk sadar filenames husus tangtu internal. Filenames ieu ngidinan aksés ka buka descriptors file diwariskeun ti prosés indungna gawk 's (biasana cangkang). Ngaran berkas ieu bisa ogé dipaké dina garis paréntah pikeun ngaranan file data. The filenames téh:

/ dev / stdin

Asupan baku.

/ dev / stdout

Kaluaran baku.

/ dev / stderr

Kaluaran kasalahan baku.

/ dev / fd / n

The file pakait jeung file kabuka descriptor n.

Di handap ieu mangrupakeun sabagian dipake pikeun pesen kasalahan. Salaku conto:

nyitak "Anjeun blew dinya!" > "/ Dev / stderr"

sedengkeun anjeun bakal disebutkeun kudu make

nyitak "Anjeun blew dinya!" | "ucing 1> & 2"

Nuturkeun filenames husus bisa dipaké ku | operator & ko-prosés pikeun nyieun koneksi jaringan TCP / IP.

/ inet / TCP / lport / rhost / rport

Berkas keur TCP / IP sambungan on lport port lokal pikeun rhost host jauh kana remote port rport. Ngagunakeun port of 0 boga sistem nyokot port a.

/ inet / udp / lport / rhost / rport

Sarupa, tapi make UDP / IP tinimbang TCP / IP.

/ inet / atah / lport / rhost / rport

Ditangtayungan pikeun pamakéan nu bakal datang.

Filenames husus sejenna nyadiakeun aksés ka émbaran ngeunaan prosés gawk ngajalankeun. Filenames ieu kiwari leungit. Nganggo Asép Sunandar Sunarya PROCINFO pikeun ménta inpo aranjeunna nyadiakeun. The filenames téh:

/ dev / pid

Maca file ieu mulih ti ID prosés tina prosés ayeuna, dina decimal, terminated kalawan newline a.

/ dev / ppid

Maca file ieu mulih ti ID prosés indungna tina prosés ayeuna, dina decimal, terminated kalawan newline a.

/ dev / pgrpid

Maca file ieu mulih ti ID group prosés tina prosés ayeuna, dina decimal, terminated kalawan newline a.

/ dev / pamaké

Maca file ieu mulih rékaman tunggal terminated kalawan newline a. Huma anu dipisahkeun ku spasi. $ 1 is nilai getuid (2) panggero sistem, $ 2 ngarupakeun nilai tina geteuid (2) sistem panggero, $ 3 ngarupakeun nilai tina getgid (2) sistem panggero, sarta $ 4 nyaeta nilai getegid (2) panggero sistem. Mun aya wae widang tambahan, aranjeunna anu Gajah Mungkur group dipulang ku getgroups (2). Sababaraha grup bisa jadi teu dirojong di kabeh sistem.

Fungsi numerik

AWK geus di handap diwangun-di fungsi arithmetic:

atan2 (y, x)

Mulih ka arctangent of y / x dina radian.

cos (expr)

Mulih ka kosinus of expr, nu aya dina radian.

exp (expr)

Fungsi eksponensial.

int (expr)

Truncates mun integer.

asup (expr)

Fungsi logaritma alam.

Rand ()

Mulih jumlah acak antara 0 jeung 1.

dosa (expr)

Mulih sinus tina expr, nu aya dina radian.

sqrt (expr)

Fungsi akar kuadrat.

srand ([expr])

Migunakeun expr salaku cikal anyar pikeun jumlah generator acak. Mun euweuh expr geus disadiakeun, waktos poe ieu dipaké. Nilai balik téh cikal saméméhna keur jumlah generator acak.

Fungsi string

Gawk geus di handap diwangun-di fungsi string:

asort (s [, d])

Mulih jumlah unsur dina sumber Asép Sunandar Sunarya s. Eusi s anu disusun ngagunakeun aturan normal gawk 's pikeun ngabandingkeun nilai, jeung indexes sahiji nilai dumasar s anu diganti ku wilangan buleud sequential dimimitian ku 1. Lamun pilihan Asép Sunandar Sunarya tujuan d ieu dieusian, teras s ieu munggaran duplicated kana d , lajeng d ieu dumasar, ninggalkeun indexes sahiji sumber Asép Sunandar Sunarya s unchanged.

gensub (r, s, h [, t])

Milarian udagan string t pikeun patandingan di biasa ekspresi r. Mun h mangrupakeun string dimimitian ku g atanapi G, teras ngaganti sakabeh patandingan tina r jeung s. Upami teu kitu, h nyaéta jumlah nunjukkeun nu cocok tina r kana ngaganti. Lamun t teu dibéré, $ 0 dipaké gantina. Dina téks s pergantian, sekuen \ n, dimana n nyaéta angka ti 1 nepi ka 9, bisa dipaké pikeun nandaan ngan téks nu loyog ka n 'th subexpression parenthesized. Sekuen \ 0 ngagambarkeun sakabéh téks loyog, sakumaha teu karakter dina &. Teu kawas sub () sarta gsub (), anu string dirobah geus balik salaku hasil tina fungsi, sarta udagan string aslina henteu robah.

gsub (r, s [, t])

Pikeun unggal substring cocog dina r ekspresi biasa di t string, ngagantikeun nu string s, sarta balik jumlah panggantian. Lamun t teu dibéré, nganggo $ 0. Hiji & dina téks ngagantian diganti ku téks nu ieu sabenerna loyog. Pamakéan nandakeun \ & pikeun meunangkeun literal &. (Ieu kudu diketik salaku "\\ &"; tingali GAWK: Programming AWK jétu pikeun sawala lengkepna aturan pikeun & 's sarta backslashes dina téks ngagantian sub (), gsub (), sarta gensub ().)

indéks (s, t)

Mulih indéks tina t string dina senar s, atawa 0 lamun t mah teu wujud. (Ieu ngakibatkeun yen indéks karakter mimitian jam hiji.)

panjang ([s])

Mulih panjang string s, atawa panjang $ 0 lamun s henteu disadiakeun.

cocok (s, r [, a])

Mulih ka posisi di s numana biasa ekspresi r lumangsung, atanapi 0 lamun r teu hadir, sarta susunan nilai RSTART na RLENGTH. Catetan yén urutan argumen sarua keur operator ~: Str ~ ulang. Mun Asép Sunandar Sunarya téh disadiakeun, a anu diberesihan lajeng elemen 1 ngaliwatan n nu dieusi ku porsi s nu cocog subexpression parenthesized pakait dina r. Unsur 0'th of a ngandung porsi s loyog ku sakabéh nu biasa ekspresi r.

pamisah (s, a [, r])

Splits nu string s kana Asép Sunandar Sunarya mangrupa dina biasa ekspresi r, sarta mulih jumlah widang. Lamun r anu disingkahkeun, FS dipaké gantina. The Asép Sunandar Sunarya téh diberesihan heula. Bengkahna behaves identik jeung bengkahna sawah, ditétélakeun di luhur.

sprintf (fmt, expr-daptar)

Prints expr-daptar nurutkeun fmt, sarta mulih string anu dihasilkeun.

strtonum (Str)

Examines Str, sarta mulih nilai numerik na. Mun Str dimimitian ku ngarah 0, strtonum () nganggap yen Str mangrupa angka octal. Mun Str dimimitian ku 0x ngarah atanapi 0X, strtonum () nganggap yen Str mangrupakeun angka hexadecimal.

sub (r, s [, t])

Kawas gsub (), tapi mung substring cocog munggaran diganti.

substr (s Nyai [, n])

Mulih ka substring di paling n -character s dimimitian di i. Lamun n geus disingkahkeun, sesa s ieu dipaké.

tolower (Str)

Mulih salinan tina Str string, kalawan sakabeh karakter-hal luhur di Str ditarjamahkeun kana pakait counterparts-hal handap maranéhanana. karakter non-alphabetic nu ditinggalkeun unchanged.

toupper (Str)

Mulih salinan tina Str string, kalawan sakabeh karakter-hal handap di Str ditarjamahkeun kana counterparts-hal luhur saluyu maranéhanana. karakter non-alphabetic nu ditinggalkeun unchanged.

Fungsi waktos

Kusabab salah sahiji kagunaan utama program AWK geus ngolah file log nu ngandung émbaran cap waktu, gawk nyadiakeun fungsi handap pikeun meunangkeun perangko waktos na pormat aranjeunna.

mktime (datespec)

Rurns datespec kana waktos cap ti formulir sarua salaku dipulang ku systime (). Datespec mangrupa string tina formulir YYYY MM DD HH MM SS [DST]. Eusi string anu genep atawa tujuh angka ngalambangkeun mungguh dina sataun pinuh kaasup abad, anu bulan ti 1 nepi ka 12, poe bulan ti 1 nepi ka 31 jam dina sapoe ti 0 nepi ka 23 menit ti 0 nepi ka 59, jeung detik 0 nepi 60, sarta hiji pilihan daylight saving bandéra. Nilai angka ieu teu kudu jadi dina Bulan dieusian; contona, sajam ti -1 hartina 1 jam saméméh tengah wengi. Maséhi dina Kalénder Gregorian asal-enol dianggap, kalayan taun 0 harita taun 1 jeung sataun -1 harita taun 0. waktu nu dianggap janten dina timezone lokal. Mun terangan dina nyimpen bendera geus positif, waktu nu dianggap janten waktos hemat terangan; lamun enol, waktu nu dianggap janten waktos baku; sarta lamun negatif (standar nu), mktime () nyoba keur ngabedakeun daylight saving waktos aya dina pangaruh keur waktu dieusian. Mun datespec henteu ngandung elemen cukup atawa lamun waktu anu dihasilkeun téh kaluar tina rentang, mktime () mulih -1.

strftime ([format [, timestamp]])

Format timestamp nurutkeun spesifikasi dina format. Timestamp kudu tina formulir sarua salaku dipulang ku systime (). Mun timestamp téh leungit, anu waktos ayeuna poe ieu dipaké. Mun format anu leungit, hiji format standar sarua jeung kaluaran titimangsa (1) digunakeun. Ningali spésifikasi keur fungsi strftime () dina ANSI C pikeun conversions format nu dijamin janten aya. A Vérsi publik-domain of strftime (3) jeung kaca lalaki keur eta datangna kalawan gawk; lamun versi anu dipaké pikeun ngawangun gawk, teras sadaya conversions digambarkeun dina eta kaca lalaki nu sadia pikeun gawk.

systime ()

Mulih ti waktu ayeuna poé salaku Jumlah detik saprak epoch (1970-01-01 00:00:00 UTC dina sistem POSIX).

Bit Manipulasi Fungsi

Dimimitian ku versi 3.1 tina gawk, bit handap fungsi manipulasi nu aya. Sabab tiasa dianggo ku jalan ngarobah ganda-precision nilai floating titik ka wilangan buleud panjang unsigned, lakukeun operasi, lajeng ngarobah hasilna deui titik ngambang. Fungsi nyaéta:

jeung (v1, v2)

Balik ti bitwise AND tina nilai nu disadiakeun ku v1 na v2.

compl (Val)

Balik ka pelengkap bitwise of Val.

lshift (Val, count)

Balik nilai Val, bergeser ditinggalkeun ku count bit.

atawa (v1, v2)

Balik ti bitwise OR tina nilai nu disadiakeun ku v1 na v2.

rshift (Val, count)

Balik nilai Val, bergeser katuhu ku count bit.

xor (v1, v2)

Balik ti XOR bitwise tina nilai nu disadiakeun ku v1 na v2.

Fungsi Internationalization

Dimimitian ku versi 3.1 tina gawk, fungsi handap bisa dipaké ti jeroeun program AWK anjeun narjamahkeun string dina ngajalankeun-waktu. Pikeun rinci pinuh, tingali GAWK: jétu AWK Programming.

bindtextdomain (diréktori [, domain])

Hususna dina diréktori mana gawk Sigana keur file .mo, bisi maranéhna moal atawa teu bisa ditempatkeun dina `` baku '' lokasi (misalna, dina mangsa nguji). Ieu mulih ka diréktori mana domain anu `` kabeungkeut. ''

The domain standar nyaeta nilai TEXTDOMAIN. Mun diréktori teh string null ( ""), teras bindtextdomain () mulih arus mengikat keur domain dibikeun.

dcgettext (string [, domain [, kategori]])

Mulih ka tarjamah tina string dina téks domain domain pikeun kategori kategori Lokalisasi. Nilai standar pikeun domain ngarupakeun nilai kiwari TEXTDOMAIN. Nilai standar pikeun kategori nyaeta "LC_MESSAGES".

Lamun nyadiakeun nilai pikeun kategori, éta kudu aya string sarua salah sahiji kategori Lokalisasi nu dipikawanoh dijelaskeun dina GAWK: Programming AWK jétu. Anjeun oge kudu nyadiakeun hiji domain téks. Paké TEXTDOMAIN upami Anjeun hoyong nganggo domain ayeuna.

dcngettext (string1, string2, angka [, domain [, kategori]])

Mulih wangun jamak dipaké pikeun jumlah tina tarjamah tina string1 na string2 dina téks domain domain pikeun kategori kategori Lokalisasi. Nilai standar pikeun domain ngarupakeun nilai kiwari TEXTDOMAIN. Nilai standar pikeun kategori nyaeta "LC_MESSAGES".

Lamun nyadiakeun nilai pikeun kategori, éta kudu aya string sarua salah sahiji kategori Lokalisasi nu dipikawanoh dijelaskeun dina GAWK: Programming AWK jétu. Anjeun oge kudu nyadiakeun hiji domain téks. Paké TEXTDOMAIN upami Anjeun hoyong nganggo domain ayeuna.

Fungsi pamaké-diartikeun

Fungsi dina AWK nu dihartikeun kieu:

Ngaran fungsi (daptar parameter) {pernyataan}

Fungsi nu dieksekusi nalika aranjeunna disebut tina jeroeun ungkapan dina boh pola atawa tindakan. parameter sabenerna disadiakeun dina panggero fungsi anu dipaké pikeun instantiate parameter formal nyatakeun di fungsina. Arrays anu diliwatan ku rujukan, variabel lianna anu diliwatan ku nilai.

Kusabab fungsi éta teu asalna bagian tina bahasa AWK, penyediaan keur variabel lokal téh rada kagok: Éta téh didéklarasikeun minangka parameter tambahan dina daptar parameter. konvénsi éta téh pikeun misahkeun variabel lokal tina parameter nyata ku spasi tambahan dina daptar parameter. Salaku conto:

fungsi f (p, q, a, b) # a jeung b ngarupakeun lokal {...} / ABC / {...; f (1, 2); ...}

The parenthesis kénca dina panggero fungsi anu diperlukeun pikeun geuwat nuturkeun nami fungsi, tanpa wae spasi bodas intervening. Ieu pikeun nyingkahan hiji ambiguitas sintaksis jeung operator concatenation. pangwatesan ieu teu dilarapkeun ka diwangun-di fungsi nu didaptarkeun di luhur.

Fungsi bisa nelepon silih jeung bisa jadi recursive. Fungsi parameter dipaké salaku variabel lokal nu initialized ka string null sarta jumlah nol kana fungsi namah.

Paké balik expr balik nilai a tina hiji fungsi. Nilai balik ieu undefined lamun euweuh nilai anu disadiakeun, atawa lamun fungsi mulih ku `` ragrag kaluar '' tungtungna.

Mun --lint geus disadiakeun, gawk warns ngeunaan nelepon jeung fungsi undefined dina waktos parse, tinimbang di waktu ngaji. Nyauran hiji fungsi undefined dina waktu amprok mangrupakeun kasalahan fatal.

Kecap func bisa dipaké dina tempat fungsi.

Dinamis loading fungsi NEW

Dimimitian ku versi 3.1 tina gawk, anjeun dinamis bisa nambahkeun anyar diwangun-di fungsi kana juru gawk ngajalankeun. Sacara rinci pinuh nu saluareun ruang lingkup kaca manual kieu; tingali GAWK: jétu AWK Programming pikeun detil.

extension (obyék, fungsi)

Dinamis numbu file obyék dibagikeun ngaranna ku obyék, sarta nu dipake fungsi dina obyek eta, nedunan initialization. Ieu kedah duanana jadi disadiakeun salaku senar. Mulih ka nilai dipulang ku fungsi.

Fungsi ieu disadiakeun jeung documented di GAWK: Programming AWK jétu, tapi sagalana ngeunaan fitur ieu kamungkinan robah di release salajengna. Urang niatna nyarankeun yén anjeun teu make fitur ieu pikeun naon bae anu anjeun teu daék redo.

sinyal

pgawk narima dua sinyal. SIGUSR1 ngabalukarkeun ka dump hiji profil na fungsi panggero tumpukan kana file profil, anu boh awkprof.out, atawa file naon ieu ngaranna kalawan pilihan --profile. Ieu lajeng terus ngajalankeun. SIGHUP ngabalukarkeun ka dump propil sarta fungsi panggero tumpukan lajeng kaluar.

conto

Print na nyortir ngaran login sadaya pamaké: ngawitan {FS = ":"} {nyitak $ 1 | "diurutkeun"} Nyumput garis dina file anu: {nlines ++} TAMAT {nlines print} miheulaan tiap garis ku angka na di file: {FNR citak, $ 0} Concatenate jeung nomer garis (variasi dina téma): {NR citak, $ 0}

internalisasi

konstanta string anu urutan tina karakter enclosed dina tanda petik ganda. Dina lingkungan diomongkeun non-Inggris, kasebut nyaéta dimungkinkeun pikeun nandaan string dina program AWK sakumaha merlukeun tarjamah kana basa alam asli. string sapertos anu ditandaan dina program AWK ku underscore anjog ( `` _ ''). Salaku conto,

gawk 'ngawitan {print "halo, dunya"}'

salawasna prints pantun, dunya. tapi,

gawk 'ngawitan {print _ "halo, dunya"}'

bisa nyitak bonjour, monde di Perancis.

Aya sababaraha tahapan aub dina ngahasilkeun sarta ngajalankeun program AWK localizable.

1.

Nambahkeun hiji dimimitian Peta mun napelkeun nilai ka variabel TEXTDOMAIN pikeun ngeset domain téks pikeun ngaran pakait sareng program Anjeun.


Dimimitian {TEXTDOMAIN = "myprog"}

Hal ieu ngamungkinkeun gawk manggihkeun file .mo pakait sareng program Anjeun. Tanpa hambalan ieu, gawk ngagunakeun domain pesen téks, anu dipikaresep henteu ngandung tarjamahan pikeun program Anjeun.

2.

Tandaan sadaya string anu kudu ditarjamahkeun kalawan underscores ngarah.

3.

Upami diperlukeun, nganggo dcgettext () jeung / atawa bindtextdomain () fungsi dina program anjeun, sakumaha hade.

4.

Ngajalankeun gawk --gen-po -f myprog.awk> myprog.po keur ngahasilkeun file .po pikeun program Anjeun.

5.

Nyadiakeun tarjamahan luyu, tur ngawangun tur masang file .mo alkana.

Fitur internationalization digambarkeun di jéntré pinuh di GAWK: jétu AWK Programming.

Posix kasaluyuan

Hiji gawang primér pikeun gawk nyaeta kasaluyuan jeung standar POSIX, kitu ogé kalayan versi panganyarna tina UNIX awk. Ka tungtung ieu, gawk incorporates pamaké fitur ditingali di handap nu teu dijelaskeun dina buku AWK, tapi mangrupakeun bagian tina versi Laboratorium Bell of awk, sarta anu di standar POSIX.

Buku nunjukkeun yén garis paréntah variabel ngerjakeun kajadian nalika awk disebutkeun bakal buka argumen salaku file, nu sanggeus dimimitian blok ieu dibales. Sanajan kitu, dina implementations baheula, nalika ngerjakeun misalna hiji mucunghul sateuacan wae ngaran koropakna, ngerjakeun nu bakal lumangsung méméh dimimitian blok ieu ngajalankeun. Aplikasi sumping ka gumantung kana ieu `` fitur. '' Nalika awk ieu robah jadi cocog dokuméntasi anak, pilihan -V pikeun assigning variabel saméméh palaksanaan program ieu ditambahkeun pikeun nampung aplikasi nu gumantung kana kabiasaan heubeul. (Fitur ieu sapuk kana ku duanana di Laboratorium Bell sarta pamekar Lisénsi.)

Pilihan -W pikeun fitur husus palaksanaan nyaeta tina standar POSIX.

Nalika ngolah alesan, gawk migunakeun pilihan husus `` - '' keur tanda ahir alesan. Dina modeu kasaluyuan, éta warns ngeunaan tapi disebutkeun ignores pilihan undefined. Dina operasi normal, alesan sapertos anu diliwatan dina kana program AWK keur ka ngolah.

Buku AWK teu ngartikeun nilai balikna srand (). The POSIX standar boga eta balik cikal eta ieu maké, pikeun ngidinan ngajaga data sekuan wilangan acak. Kituna srand () dina gawk ogé mulih cikal kiwari.

Fitur anyar lianna nyaéta: Pamakéan sababaraha pilihan -f (tina MKS awk); éta Asép Sunandar Sunarya ENVIRON; éta \ a, sarta urutan \ v ngewa (dipigawé asalna di gawk na fed deui kana versi Laboratorium Bell); nu tolower () sarta toupper () diwangun-di fungsi (tina versi Laboratorium Bell); jeung ANSI C spésifikasi konversi di printf (dipigawé munggaran dina versi Laboratorium Bell).

Fitur sajarah

Aya dua fitur of implementations AWK sajarah nu gawk ngarojong. Kahiji, kasebut nyaéta dimungkinkeun pikeun nelepon panjang () diwangun-di fungsi teu ngan kalawan henteu argumen, tapi malah tanpa kurung! Ku kituna,

a = panjangna # Algol Suci 60, Rawing!

sarua boh tina

a = panjangna ()
a = panjangna ($ 0)

Fitur ieu ditandaan salaku `` deprecated '' dina standar POSIX, sarta gawk isu peringatan ngeunaan pamakéan na lamun --lint geus dieusian dina garis paréntah.

Fitur sejenna nya éta ngagunakeun boh nuluykeun atawa pernyataan putus luar awak bari, pikeun, atawa ngalakukeun loop. Implementations AWK Tradisional geus diperlakukeun pamakéan kayaning sarimbag jeung pernyataan salajengna. Gawk ngarojong pamakéan ieu lamun --traditional geus dieusian.

Lisénsi ekstensi

Gawk ngabogaan sajumlah ekstensi mun POSIX awk. Éta téh digambarkeun dina bagian ieu. Sagala ekstensi dijelaskeun di dieu bisa ditumpurkeun ku invoking gawk kalawan pilihan --traditional.

Fitur di handap tina gawk henteu sadia dina POSIX awk.

*

Taya pilarian jalur anu dipigawé pikeun file ngaranna via pilihan -f. Kituna variabel lingkungan AWKPATH teu husus.

*

The \ x runtuyan ngewa. (Ditumpurkeun ku --posix.)

*

The fflush () fungsi. (Ditumpurkeun ku --posix.)

*

Kamampuh neruskeun garis sanggeus? na:. (Ditumpurkeun ku --posix.)

*

Octal na hexadecimal konstanta dina program AWK.

*

The ARGIND, BINMODE, ERRNO, LINT, RT jeung variabel TEXTDOMAIN henteu husus.

*

Variabel IGNORECASE sarta sisi-épék na mah teu aya.

*

Variabel FIELDWIDTHS na dibereskeun-lebar bengkahna sawah.

*

The PROCINFO Asép Sunandar Sunarya teu aya.

*

Pamakéan RS salaku ekspresi biasa.

*

Ngaran file husus disadiakeun pikeun I / O redirection teu dipikawanoh.

*

The | & operator pikeun nyieun ko-prosés.

*

Pangabisa ka beulah kaluar karakter individu ngagunakeun senar null sakumaha nilai FS, sarta salaku argumen katilu ka beulah ().

*

The pilihan kadua argumen jeung nutup () fungsi.

*

The pilihan katilu argumen jeung cocok () fungsi.

*

Kamampuan ngagunakeun specifiers posisional kalawan printf na sprintf ().

*

Pamakéan Asép Sunandar Sunarya Hapus dihapus sakabéh eusi hiji Asép Sunandar Sunarya.

*

Pamakéan nextfile mun abandon ngolah tina file input ayeuna.

*

Jeung (), asort (), bindtextdomain (), compl (), dcgettext (), gensub (), lshift (), mktime (), atawa (), rshift (), strftime (), strtonum (), systime () sarta xor () fungsi.

*

string Localizable.

*

Nambahkeun anyar diwangun-di fungsi dinamis jeung extension () fungsi.

Buku AWK teu ngartikeun nilai balik ti nutup () fungsi. Nutup Gawk 's () mulih ka nilai tina fclose (3), atawa pclose (3), nalika nutup kaluaran file atawa pipa visinil. Ieu mulih status kaluar prosés urang nalika nutup hiji pipa input. Nilai balik téh -1 lamun ngaranna file, pipa atawa ko-prosés ieu teu dibuka kalawan redirection a.

Nalika gawk ieu invoked kalawan pilihan --traditional, lamun fs argumen kana pilihan -F mangrupakeun `` t '', lajeng FS diatur kana karakter tab. Catetan ketikan nu gawk -F \ t ... ngan saukur jadi sabab cangkang jeung cutatan nu `` t, '', sarta teu lulus `` \ t '' pikeun pilihan -F. Kusabab ieu téh bisi husus rada awon, teu laku standar. Kabiasaan ieu ogé henteu lumangsung lamun --posix geus dieusian. Bener meunang karakter tab salaku SEPARATOR sawah, éta pangalusna ngagunakeun tanda petik tunggal: gawk -F '\ t' ....

Tempo paréntah lianna: antosan , LP , lengkep , execv , getfacl , ioctl , uniq , rmmod , pvcreate , rsh , unix2dos , kal , fs , cd , iwpriv , swapon , autofs , sawala , motd , haratis , lpr , execl , fdisk , dina , anu , iwconfig , ifconfig , vgdisplay , kabuka , lsmod , ntohs , mailq , maéhan , wtmp