EnglishFrenchSpanyol

Ad


Favicon OnWorks

gawk - Dalam talian di Awan

Jalankan gawk dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan gawk yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


gawk - bahasa imbasan dan pemprosesan corak

SINOPSIS


hinggap [ Pilihan gaya POSIX atau GNU ] -f fail program [ -- ] fail...
hinggap [ Pilihan gaya POSIX atau GNU ] [ -- ] teks program fail ...

DESCRIPTION


Gawk ialah pelaksanaan Projek GNU bagi bahasa pengaturcaraan AWK. Ia sesuai dengan
definisi bahasa dalam Standard POSIX 1003.1. Versi ini pula ialah
berdasarkan huraian dalam . AWK Pengaturcaraan Bahasa, oleh Aho, Kernighan, dan
Weinberger. Gawk menyediakan ciri tambahan yang terdapat dalam versi semasa Brian
milik Kernighan awk dan beberapa sambungan khusus GNU.

Baris arahan terdiri daripada pilihan untuk hinggap itu sendiri, teks program AWK (jika tidak dibekalkan
melalui -f or --fail pilihan), dan nilai yang akan disediakan dalam ARGC and ARGV pra-
pembolehubah AWK yang ditentukan.

Bila hinggap adalah dipanggil dengan --profil pilihan, ia mula mengumpulkan statistik pemprofilan
daripada pelaksanaan program. Gawk berjalan lebih perlahan dalam mod ini, dan secara automatik
menghasilkan profil pelaksanaan dalam fail awkprof.out apabila selesai. Lihat --profil
pilihan, di bawah.

Gawk juga mempunyai penyahpepijat bersepadu. Sesi penyahpepijatan interaktif boleh dimulakan oleh
membekalkan --nyahpepijat pilihan kepada baris arahan. Dalam cara pelaksanaan ini, hinggap beban
kod sumber AWK dan kemudian menggesa untuk arahan nyahpepijat. Gawk hanya boleh nyahpepijat AWK
sumber program yang disediakan dengan -f pilihan. Penyahpepijat didokumenkan dalam GAWK: Berkesan
AWK Pengaturcaraan.

OPTION FORMAT


Gawk pilihan mungkin sama ada pilihan satu huruf gaya POSIX tradisional, atau panjang gaya GNU
pilihan. Pilihan POSIX bermula dengan satu "-", manakala pilihan panjang bermula dengan "--". Panjang
pilihan disediakan untuk kedua-dua ciri khusus GNU dan untuk ciri mandat POSIX.

Gawk-pilihan khusus biasanya digunakan dalam bentuk pilihan panjang. Hujah kepada pilihan yang panjang
sama ada digabungkan dengan pilihan oleh an = tanda, tanpa ruang perantara, atau mungkin
disediakan dalam hujah baris arahan seterusnya. Pilihan panjang boleh disingkatkan, asalkan
singkatan itu kekal unik.

Selain itu, setiap pilihan panjang mempunyai pilihan pendek yang sepadan, supaya pilihan itu
kefungsian boleh digunakan dari dalam #! skrip boleh laku.

PILIHAN


Gawk menerima pilihan berikut. Pilihan standard disenaraikan dahulu, diikuti dengan
pilihan untuk hinggap sambungan, disenaraikan mengikut abjad mengikut pilihan pendek.

-f fail program
--fail fail program
Baca sumber program AWK daripada fail fail program, bukannya dari yang pertama
hujah baris arahan. Pelbagai -f (Atau --fail) pilihan boleh digunakan.

-F fs
--pemisah-medan fs
Penggunaan fs untuk pemisah medan input (nilai FS pembolehubah yang telah ditetapkan).

-v var=val
--tugaskan var=val
Tetapkan nilai val kepada pembolehubah var, sebelum pelaksanaan program bermula.
Nilai pembolehubah sedemikian tersedia untuk BEGIN peraturan program AWK.

-b
--karakter-sebagai-bait
Anggap semua data input sebagai aksara bait tunggal. Dengan kata lain, jangan bayar apa-apa
perhatian kepada maklumat tempat semasa cuba memproses rentetan sebagai multibait
watak. The --posix pilihan mengatasi yang ini.

-c
--tradisional
Lari masuk keserasian mod. Dalam mod keserasian, hinggap berkelakuan sama dengan
Brian Kernighan awk; tiada sambungan khusus GNU yang diiktiraf. Lihat GNU
PERLUASAN, di bawah, untuk maklumat lanjut.

-C
--hak cipta
Cetak versi pendek mesej maklumat hak cipta GNU pada standard
keluar dan keluar dengan jayanya.

-d[fail]
--buang-pembolehubah[=fail]
Cetak senarai diisih pembolehubah global, jenis dan nilai akhir mereka fail. Jika
tidak fail disediakan, hinggap menggunakan fail bernama awkvars.out dalam direktori semasa.
Mempunyai senarai semua pembolehubah global ialah cara yang baik untuk mencari tipografi
ralat dalam program anda. Anda juga akan menggunakan pilihan ini jika anda mempunyai yang besar
program dengan banyak fungsi, dan anda ingin memastikan bahawa fungsi anda tidak
secara tidak sengaja menggunakan pembolehubah global yang anda maksudkan sebagai tempatan. (Ini adalah satu
kesilapan yang sangat mudah dibuat dengan nama pembolehubah mudah seperti i, j, dan sebagainya.)

-D[fail]
--nyahpepijat[=fail]
Dayakan penyahpepijatan program AWK. Secara lalai, penyahpepijat membaca arahan
secara interaktif daripada papan kekunci (input standard). Pilihan fail hujah
menentukan fail dengan senarai arahan untuk penyahpepijat untuk melaksanakan bukan-
secara interaktif.

-e teks program
--sumber teks program
Penggunaan teks program sebagai kod sumber program AWK. Pilihan ini membolehkan yang mudah
pencampuran fungsi perpustakaan (digunakan melalui -f and --fail pilihan) dengan sumber
kod yang dimasukkan pada baris arahan. Ia bertujuan terutamanya untuk AWK sederhana hingga besar
atur cara yang digunakan dalam skrip shell.

-E fail
--eks fail
Sama seperti -f, bagaimanapun, ini adalah pilihan yang terakhir diproses. Ini sepatutnya
digunakan dengan #! skrip, terutamanya untuk aplikasi CGI, untuk mengelak daripada lulus
pilihan atau kod sumber (!) pada baris arahan daripada URL. Pilihan ini melumpuhkan
tugasan pembolehubah baris arahan.

-g
--gen-periuk
Imbas dan huraikan program AWK, dan jana GNU .periuk (Templat Objek Mudah Alih)
format fail pada output standard dengan entri untuk semua rentetan yang boleh disetempatkan dalam
program. Program itu sendiri tidak dilaksanakan. Lihat GNU gettext pengedaran untuk
maklumat lanjut mengenai .periuk fail.

-h
- membantu Cetak ringkasan yang agak pendek tentang pilihan yang tersedia pada output standard.
(Setiap GNU Pengekodan Piawaian, pilihan ini menyebabkan keluar dengan segera dan berjaya.)

-i masukkan-fail
--termasuk masukkan-fail
Muatkan perpustakaan sumber awk. Ini mencari perpustakaan menggunakan AWKPATH
pembolehubah persekitaran. Jika carian awal gagal, percubaan lain akan dibuat
selepas melampirkan .awk akhiran. Fail akan dimuatkan sekali sahaja (iaitu,
pendua dihapuskan), dan kod itu tidak membentuk program utama
sumber.

-l lib
--muat lib
Muatkan perpustakaan kongsi lib. Ini mencari perpustakaan menggunakan AWKLIBPATH
pembolehubah persekitaran. Jika carian awal gagal, percubaan lain akan dibuat
selepas menambahkan akhiran perpustakaan kongsi lalai untuk platform. Perpustakaan
rutin pemulaan dijangka dinamakan dl_load().

-L [nilai]
--lint[=nilai]
Berikan amaran tentang binaan yang meragukan atau tidak mudah alih kepada AWK lain
pelaksanaan. Dengan hujah pilihan daripada maut, amaran lin menjadi maut
kesilapan. Ini mungkin drastik, tetapi penggunaannya pasti akan menggalakkan pembangunan
program AWK yang lebih bersih. Dengan hujah pilihan daripada tidak sah, hanya amaran tentang
perkara yang sebenarnya tidak sah dikeluarkan. (Ini belum dilaksanakan sepenuhnya.)

-M
--bignum
Paksa aritmetik ketepatan sewenang-wenangnya pada nombor. Pilihan ini tidak mempunyai kesan jika hinggap
tidak disusun untuk menggunakan perpustakaan GNU MPFR dan MP.

-n
--data-bukan-perpuluhan
Mengenal nilai perlapanan dan heksadesimal dalam data input. Penggunaan ini pilihan bersama besar
berhati-hati!

-N
--use-lc-numeric
Ini memaksa hinggap untuk menggunakan aksara titik perpuluhan tempat semasa menghuraikan input
data. Walaupun standard POSIX memerlukan tingkah laku ini, dan hinggap berbuat demikian apabila
--posix sedang berkuat kuasa, lalai adalah mengikut tingkah laku tradisional dan menggunakan a
noktah sebagai titik perpuluhan, walaupun dalam tempat yang titik itu bukan perpuluhan
watak titik. Pilihan ini mengatasi tingkah laku lalai, tanpa penuh
ketegasan drakonian --posix pilihan.

-o[fail]
--cetakan cantik[=fail]
Keluarkan versi program yang cukup dicetak ke fail. Jika tidak fail disediakan,
hinggap menggunakan fail bernama awkprof.out dalam direktori semasa.

-O
--optimumkan
Dayakan pengoptimuman atas perwakilan dalaman program. Pada masa ini,
ini termasuk lipatan malar yang mudah, dan penyingkiran panggilan ekor untuk rekursif
fungsi. The hinggap penyelenggara berharap untuk menambah pengoptimuman tambahan dari semasa ke semasa.

-p[fail prof]
--profil[=fail prof]
Mulakan sesi pemprofilan dan hantar data pemprofilan ke fail prof. Lalai
is awkprof.out. Profil mengandungi kiraan pelaksanaan setiap pernyataan dalam
program dalam jidar kiri dan kiraan panggilan fungsi untuk setiap fungsi yang ditentukan pengguna.

-P
--posix
Ini dihidupkan keserasian mod, dengan sekatan tambahan berikut:

· \x urutan pelarian tidak dikenali.

· Hanya ruang dan tab bertindak sebagai pemisah medan apabila FS ditetapkan kepada satu ruang,
baris baru tidak.

· Anda tidak boleh meneruskan baris selepas ? and :.

· Sinonim func untuk kata kunci fungsi tidak diiktiraf.

· Pengendali ** and **= tidak boleh digunakan sebagai ganti ^ and ^=.

-r
--selang semula
Dayakan penggunaan selang ungkapan dalam padanan ungkapan biasa (lihat Biasa
Ungkapan, di bawah). Ungkapan selang tidak tersedia secara tradisional dalam
bahasa AWK. Piawaian POSIX menambahnya, untuk membuat awk and egrep konsisten dengan
satu sama lain. Ia didayakan secara lalai, tetapi pilihan ini kekal untuk digunakan dengan
--tradisional.

-S
--kotak pasir
Larian hinggap dalam mod kotak pasir, melumpuhkan sistem () fungsi, ubah hala input dengan
garis panduan, ubah hala keluaran dengan cetak and Printf, dan memuatkan sambungan dinamik.
Pelaksanaan arahan (melalui saluran paip) juga dilumpuhkan. Ini secara berkesan menghalang a
skrip daripada mengakses sumber tempatan (kecuali untuk fail yang dinyatakan pada
baris arahan).

-t
--lama
Berikan amaran tentang binaan yang tidak mudah alih kepada versi asal
UNIX awk.

-V
--versi
Cetak maklumat versi untuk salinan khusus ini hinggap pada keluaran standard.
Ini berguna terutamanya untuk mengetahui sama ada salinan semasa hinggap pada sistem anda sudah siap
setakat ini berkenaan dengan apa sahaja yang diedarkan oleh Yayasan Perisian Percuma.
Ini juga berguna apabila melaporkan pepijat. (Setiap GNU Pengekodan Piawaian, ini
pilihan menyebabkan keluar serta-merta, berjaya.)

-- Isyarat tamat pilihan. Ini berguna untuk membenarkan hujah lanjut kepada AWK
program itu sendiri untuk bermula dengan "-". Ini memberikan konsistensi dengan hujah
konvensyen penghuraian yang digunakan oleh kebanyakan program POSIX lain.

Dalam mod keserasian, sebarang pilihan lain dibenderakan sebagai tidak sah, tetapi sebaliknya
diabaikan. Dalam operasi biasa, selagi teks program telah dibekalkan, pilihan tidak diketahui
diteruskan ke program AWK dalam ARGV tatasusunan untuk pemprosesan. Ini khususnya
berguna untuk menjalankan program AWK melalui "#!" mekanisme penterjemah boleh laku.

Untuk keserasian POSIX, -W pilihan boleh digunakan, diikuti dengan nama pilihan yang panjang.

AWK PROGRAM PERLAKSANAAN


Program AWK terdiri daripada urutan pernyataan pola-tindakan dan fungsi pilihan
takrifan.

@termasuk "nama fail"
@muat "nama fail"
pola { tindakan kenyataan }
fungsi nama(parameter senarai) { kenyataan }

Gawk mula-mula membaca sumber program daripada fail program(s) jika dinyatakan, daripada hujah
kepada --sumber, atau daripada hujah bukan pilihan pertama pada baris arahan. The -f and
--sumber pilihan boleh digunakan beberapa kali pada baris arahan. Gawk membaca program
teks seolah-olah semua fail programs dan teks sumber baris arahan telah digabungkan
bersama-sama. Ini berguna untuk membina perpustakaan fungsi AWK, tanpa perlu
sertakan mereka dalam setiap program AWK baharu yang menggunakannya. Ia juga menyediakan keupayaan untuk bercampur
fungsi perpustakaan dengan program baris arahan.

Di samping itu, baris yang bermula dengan @termasuk boleh digunakan untuk memasukkan fail sumber lain ke dalam
program anda, menjadikan penggunaan perpustakaan lebih mudah. Ini bersamaan dengan menggunakan -i pilihan.

Baris bermula dengan @muat boleh digunakan untuk memuatkan perpustakaan kongsi ke dalam program anda. ini
adalah bersamaan dengan menggunakan -l pilihan.

Pembolehubah persekitaran AWKPATH menentukan laluan carian untuk digunakan semasa mencari fail sumber
dinamakan dengan -f and -i pilihan. Jika pembolehubah ini tidak wujud, laluan lalai ialah
".:/usr/local/share/awk". (Direktori sebenar mungkin berbeza-beza, bergantung pada caranya hinggap adalah
dibina dan dipasang.) Jika nama fail diberikan kepada -f pilihan mengandungi aksara “/”, no
carian laluan dilakukan.

Pembolehubah persekitaran AWKLIBPATH menentukan laluan carian untuk digunakan semasa mencari sumber
fail bernama dengan -l pilihan. Jika pembolehubah ini tidak wujud, laluan lalai ialah
"/usr/local/lib/gawk". (Direktori sebenar mungkin berbeza-beza, bergantung pada caranya hinggap telah dibina
dan dipasang.)

Gawk melaksanakan program AWK dalam susunan berikut. Pertama, semua tugasan berubah-ubah
ditentukan melalui -v pilihan dilakukan. Seterusnya, hinggap menyusun atur cara menjadi satu
bentuk dalaman. Kemudian, hinggap melaksanakan kod dalam BEGIN peraturan (jika ada), dan kemudian
meneruskan membaca setiap fail yang dinamakan dalam ARGV tatasusunan (sehingga ARGV[ARGC]). Jika tiada
fail bernama pada baris arahan, hinggap membaca input standard.

Jika nama fail pada baris arahan mempunyai borang var=val ia dianggap sebagai pembolehubah
tugasan. Pembolehubah var akan diberikan nilai val. (Ini berlaku selepas apa-apa
BEGIN peraturan telah dijalankan.) Tugasan pembolehubah baris perintah paling berguna untuk
memberikan nilai secara dinamik kepada pembolehubah yang digunakan AWK untuk mengawal cara input dipecahkan
medan dan rekod. Ia juga berguna untuk mengawal keadaan jika berbilang hantaran diperlukan
atas satu fail data.

Jika nilai unsur tertentu daripada ARGV kosong (""), hinggap melangkauinya.

Bagi setiap fail input, jika a MULAKAN FAIL peraturan wujud, hinggap melaksanakan kod yang berkaitan sebelum ini
memproses kandungan fail. Begitu juga, hinggap melaksanakan kod yang dikaitkan dengan
FAIL TAMAT selepas memproses fail.

Bagi setiap rekod dalam input, hinggap ujian untuk melihat sama ada ia sepadan dengan mana-mana pola dalam AWK
program. Untuk setiap corak yang dipadankan dengan rekod, hinggap melaksanakan yang berkaitan tindakan.
Corak diuji mengikut susunan ia berlaku dalam program.

Akhirnya, setelah semua input habis, hinggap melaksanakan kod dalam AKHIR peraturan (jika
mana-mana).

Perintah Talian Direktori
Menurut POSIX, fail bernama pada awk baris arahan mestilah fail teks. Tingkah laku
adalah ``tidak ditentukan'' jika tidak. Kebanyakan versi awk merawat direktori pada arahan
garisan sebagai kesilapan yang membawa maut.

Bermula dengan versi 4.0 daripada hinggap, direktori pada baris arahan menghasilkan amaran, tetapi
sebaliknya dilangkau. Jika salah satu daripada --posix or --tradisional pilihan diberikan, kemudian
hinggap kembali kepada merawat direktori pada baris arahan sebagai ralat maut.

PEMBOLEH UBAH, REKOD DAN FIELDS


Pembolehubah AWK adalah dinamik; ia wujud apabila ia mula-mula digunakan. mereka
nilai sama ada nombor titik terapung atau rentetan, atau kedua-duanya, bergantung pada keadaannya
digunakan. AWK juga mempunyai tatasusunan satu dimensi; tatasusunan dengan pelbagai dimensi mungkin
disimulasikan. Gawk menyediakan tatasusunan sebenar tatasusunan; lihat Arrays, di bawah. Beberapa yang telah ditetapkan
pembolehubah ditetapkan semasa program berjalan; ini diterangkan seperti yang diperlukan dan diringkaskan di bawah.

Rekod
Biasanya, rekod dipisahkan oleh aksara baris baharu. Anda boleh mengawal cara rekod
dipisahkan dengan memberikan nilai kepada pembolehubah terbina dalam RS. Jika RS adalah mana-mana watak tunggal,
watak itu memisahkan rekod. Jika tidak, RS adalah ungkapan biasa. Teks dalam
input yang sepadan dengan ungkapan biasa ini memisahkan rekod. Walau bagaimanapun, dalam
mod keserasian, hanya aksara pertama nilai rentetannya digunakan untuk mengasingkan
rekod. Jika RS ditetapkan kepada rentetan nol, kemudian rekod dipisahkan oleh baris kosong.
Bila RS ditetapkan kepada rentetan nol, watak baris baharu sentiasa bertindak sebagai pemisah medan,
sebagai tambahan kepada apa jua nilai FS mungkin mempunyai.

Bidang
Apabila setiap rekod input dibaca, hinggap membahagikan rekod kepada bidang, menggunakan nilai
FS pembolehubah sebagai pemisah medan. Jika FS ialah satu aksara, medan dipisahkan oleh
watak itu. Jika FS ialah rentetan nol, maka setiap watak individu menjadi a
bidang berasingan. Jika tidak, FS dijangka menjadi ungkapan biasa penuh. Di dalam
kes khas itu FS ialah ruang tunggal, medan dipisahkan oleh larian ruang dan/atau tab
dan/atau baris baharu. (Tetapi lihat bahagian POSIX KOMPATIBILITAS, di bawah). NOTA: Nilai
IGNORECASE (lihat di bawah) juga mempengaruhi cara medan dibahagikan apabila FS adalah ungkapan biasa,
dan bagaimana rekod dipisahkan apabila RS adalah ungkapan biasa.

Jika FIELDWIDTHS pembolehubah ditetapkan kepada senarai nombor yang diasingkan ruang, setiap medan adalah
dijangka mempunyai lebar tetap, dan hinggap membahagikan rekod menggunakan lebar yang ditentukan.
Nilai FS tidak diendahkan. Memberikan nilai baharu kepada FS or FPAT mengatasi penggunaan
FIELDWIDTHS.

Begitu juga, jika FPAT pembolehubah ditetapkan kepada rentetan yang mewakili ungkapan biasa, setiap satu
medan terdiri daripada teks yang sepadan dengan ungkapan biasa itu. Dalam kes ini, biasa
ungkapan menerangkan medan itu sendiri, bukannya teks yang memisahkan medan.
Memberikan nilai baharu kepada FS or FIELDWIDTHS mengatasi penggunaan FPAT.

Setiap medan dalam rekod input boleh dirujuk mengikut kedudukannya: $1, $2, Dan sebagainya. $0
adalah keseluruhan rekod. Medan tidak perlu dirujuk oleh pemalar:

n = 5
cetak $n

mencetak medan kelima dalam rekod input.

Pemboleh ubah NF ditetapkan kepada jumlah bilangan medan dalam rekod input.

Rujukan kepada medan yang tidak wujud (iaitu, medan selepas $NF) menghasilkan rentetan nol.
Walau bagaimanapun, memberikan kepada medan yang tidak wujud (cth, $(NF+2) = 5) meningkatkan nilai NF,
mencipta sebarang medan perantara dengan rentetan nol sebagai nilainya dan menyebabkan nilainya
of $0 untuk dikira semula, dengan medan dipisahkan dengan nilai FSO. Rujukan
kepada medan bernombor negatif menyebabkan ralat maut. Menurun NF menyebabkan nilai-nilai
medan melepasi nilai baharu yang akan hilang, dan nilai $0 untuk dikira semula, dengan
medan dipisahkan oleh nilai FSO.

Menetapkan nilai kepada medan sedia ada menyebabkan keseluruhan rekod akan dibina semula apabila $0 is
dirujuk. Begitu juga, memberikan nilai kepada $0 menyebabkan rekod itu dipecahkan semula, mencipta
nilai baharu untuk medan.

Terbina dalam Pembolehubah
Gawkpembolehubah terbina dalam ialah:

ARGC Bilangan argumen baris perintah (tidak termasuk pilihan untuk hinggap, Atau
sumber program).

ARGIND Indeks dalam ARGV daripada fail semasa sedang diproses.

ARGV Susunan hujah baris arahan. Tatasusunan diindeks dari 0 hingga ARGC - 1.
Mengubah kandungan secara dinamik ARGV boleh mengawal fail yang digunakan untuk data.

BINMODE Pada sistem bukan POSIX, tentukan penggunaan mod "perduaan" untuk semua I/O fail.
Nilai berangka 1, 2 atau 3, menyatakan bahawa fail input, fail output atau semua
fail, masing-masing, harus menggunakan I/O binari. Nilai rentetan bagi "r", Atau "w"
nyatakan bahawa fail input, atau fail output, masing-masing, harus menggunakan binari
I/O. Nilai rentetan bagi "rw" or "wr" nyatakan bahawa semua fail harus menggunakan binari
I/O. Sebarang nilai rentetan lain dianggap sebagai "rw", tetapi menjana amaran
mesej.

CONVFMT Format penukaran untuk nombor, "%.6g", secara lalai.

ALAM SEKITAR Tatasusunan yang mengandungi nilai persekitaran semasa. Tatasusunan ialah
diindeks oleh pembolehubah persekitaran, setiap elemen adalah nilainya
pembolehubah (cth, ALAM SEKITAR["RUMAH"] mungkin "/home/arnold"). Menukar tatasusunan ini
tidak menjejaskan persekitaran yang dilihat oleh program yang hinggap bertelur melalui
pengalihan atau sistem () fungsi.

ERRNO Jika ralat sistem berlaku sama ada melakukan ubah hala untuk garis panduan, semasa membaca
Untuk garis panduan, atau semasa a tutup (), Maka ERRNO akan mengandungi rentetan yang menerangkan
kesalahan. Nilai ini tertakluk kepada terjemahan dalam tempat bukan bahasa Inggeris.

FIELDWIDTHS Senarai lebar medan yang dipisahkan ruang putih. Apabila ditetapkan, hinggap menghuraikan input
ke dalam medan dengan lebar tetap, bukannya menggunakan nilai FS pemboleh ubah sebagai
pemisah medan. Lihat Bidang, di atas.

NAMA FAIL Nama fail input semasa. Jika tiada fail dinyatakan pada arahan
baris, nilai NAMA FAIL ialah “-”. Walau bagaimanapun, NAMA FAIL tidak ditentukan di dalam
BEGIN peraturan (melainkan ditetapkan oleh garis panduan).

FNR Nombor rekod input dalam fail input semasa.

FPAT Ungkapan biasa yang menerangkan kandungan medan dalam rekod. Bila
menetapkan, hinggap menghuraikan input ke dalam medan, di mana medan sepadan dengan biasa
ungkapan, bukannya menggunakan nilai FS pembolehubah sebagai medan
pemisah. Lihat Bidang, di atas.

FS Pemisah medan input, ruang secara lalai. Lihat Bidang, di atas.

FUNCTAB Tatasusunan yang indeksnya dan nilai yang sepadan ialah nama semua pengguna-
ditakrifkan atau fungsi sambungan dalam program. NOTA: Anda tidak boleh menggunakan
memadam penyataan dengan FUNCTAB susunan.

IGNORECASE Mengawal kepekaan huruf besar bagi semua ungkapan biasa dan operasi rentetan.
If IGNORECASE mempunyai nilai bukan sifar, kemudian perbandingan rentetan dan corak
padanan dalam peraturan, pemisahan medan dengan FS and FPAT, rekod memisahkan dengan
RS, ungkapan biasa yang sepadan dengan ~ and !~, Dan gensub(), gsub(),
indeks (), perlawanan(), patsplit(), berpecah (), dan sub() fungsi terbina dalam semua abaikan
kes apabila melakukan operasi ungkapan biasa. NOTA: Langganan tatasusunan ialah
tidak terjejas. Walau bagaimanapun asort() and asorti() fungsi terjejas.
Oleh itu, sekiranya IGNORECASE tidak sama dengan sifar, /aB/ sepadan dengan semua rentetan
"ab", "aB", "Ab", dan "AB". Seperti semua pembolehubah AWK, nilai awal bagi
IGNORECASE adalah sifar, jadi semua ungkapan biasa dan operasi rentetan adalah
biasanya sensitif huruf besar-besaran.

HUBUNGAN Menyediakan kawalan dinamik ke atas --lint pilihan dari dalam program AWK.
Apabila benar, hinggap mencetak amaran lin. Apabila palsu, ia tidak. Apabila ditugaskan
nilai rentetan "maut", amaran lin menjadi ralat maut, sama seperti
--lint= maut. Sebarang nilai sebenar lain hanya mencetak amaran.

NF Bilangan medan dalam rekod input semasa.

NR Jumlah bilangan rekod input yang dilihat setakat ini.

OFMT Format output untuk nombor, "%.6g", secara lalai.

FSO Pemisah medan keluaran, ruang secara lalai.

ORS Pemisah rekod output, secara lalai baris baharu.

PREC Ketepatan kerja nombor titik terapung ketepatan arbitrari, 53 by
lalai.

PROCINFO Unsur tatasusunan ini menyediakan akses kepada maklumat tentang AWK yang sedang berjalan
program. Pada sesetengah sistem, mungkin terdapat elemen dalam tatasusunan, "kumpulan1"
melalui "kumpulann" untuk beberapa n, iaitu bilangan kumpulan tambahan yang
proses mempunyai. Menggunakan in operator untuk menguji elemen ini. The
elemen berikut dijamin tersedia:

PROCINFO["egid"] Nilai getegid(2) panggilan sistem.

PROCINFO["strftime"]
Rentetan format masa lalai untuk waktu senggang ().

PROCINFO["euid"] Nilai geteuid(2) panggilan sistem.

PROCINFO["FS"] "FS" jika bidang membelah dengan FS sedang berkuat kuasa, "FPAT" if
pemisahan bidang dengan FPAT sedang berkuat kuasa, atau "FIELDWIDTHS"
jika bidang membelah dengan FIELDWIDTHS berkuat kuasa.

PROCINFO["pengecam"]
Subarray, diindeks dengan nama semua pengecam yang digunakan
dalam teks program AWK. Nilai menunjukkan apa
hinggap mengetahui tentang pengecam selepas ia selesai
menghuraikan program; mereka adalah tidak dikemas kini semasa
program berjalan. Bagi setiap pengecam, nilai bagi
elemen adalah salah satu daripada yang berikut:

"susunan"
Pengecam ialah tatasusunan.

"terbina"
Pengecam ialah fungsi terbina dalam.

"sambungan"
Pengecam ialah fungsi sambungan yang dimuatkan melalui
@muat or -l.

"skalar"
Pengecam ialah skalar.

"tidak ditaip"
Pengecam tidak ditaip (boleh digunakan sebagai a
skalar atau tatasusunan, hinggap belum tahu lagi).

"pengguna" Pengecam ialah fungsi yang ditentukan pengguna.

PROCINFO["gid"] Nilai getgid(2) panggilan sistem.

PROCINFO["pgrpid"] ID kumpulan proses proses semasa.

PROCINFO["pid"] ID proses proses semasa.

PROCINFO["ppid"] ID proses induk bagi proses semasa.

PROCINFO["uid"] Nilai getuid(2) panggilan sistem.

PROCINFO["sorted_in"]
Jika unsur ini wujud dalam PROCINFO, kemudian nilainya
mengawal susunan elemen tatasusunan dilalui
in Untuk gelung. Nilai yang disokong ialah "@ind_str_asc",
"@ind_num_asc", "@val_type_asc", "@val_str_asc",
"@val_num_asc", "@ind_str_desc", "@ind_num_desc",
"@val_type_desc", "@val_str_desc", "@val_num_desc", dan
"@unsorted". Nilai juga boleh menjadi nama mana-mana
fungsi perbandingan ditakrifkan seperti berikut:

fungsi cmp_func(i1, v1, i2, v2)

di mana i1 and i2 ialah indeks, dan v1 and v2 adalah
nilai sepadan bagi dua elemen yang dibandingkan.
Ia harus mengembalikan nombor yang kurang daripada, sama dengan, atau lebih besar
daripada 0, bergantung pada cara elemen tatasusunan
diperintahkan.

PROCINFO["input", "READ_TIMEOUT"]
Tamat masa dalam milisaat untuk membaca data daripada input,
di mana input ialah rentetan ubah hala atau nama fail. Suatu nilai
sifar atau kurang daripada sifar bermakna tiada tamat masa.

PROCINFO["mpfr_version"]
Versi perpustakaan GNU MPFR yang digunakan untuk sewenang-wenangnya
sokongan nombor ketepatan dalam hinggap. Entri ini bukan
hadir jika sokongan MPFR tidak disusun ke dalam hinggap.

PROCINFO["gmp_version"]
Versi perpustakaan MP GNU yang digunakan untuk sewenang-wenangnya
sokongan nombor ketepatan dalam hinggap. Entri ini bukan
hadir jika sokongan MPFR tidak disusun ke dalam hinggap.

PROCINFO["prec_max"]
Ketepatan maksimum yang disokong oleh perpustakaan GNU MPFR
untuk nombor titik terapung ketepatan arbitrari. ini
entri tidak hadir jika sokongan MPFR tidak disusun ke dalam
hinggap.

PROCINFO["prec_min"]
Ketepatan minimum yang dibenarkan oleh perpustakaan GNU MPFR untuk
nombor titik terapung ketepatan sewenang-wenangnya. entri ini adalah
tidak hadir jika sokongan MPFR tidak disusun ke dalam hinggap.

PROCINFO["api_major"]
Versi utama API sambungan. Entri ini bukan
hadir jika memuatkan sambungan dinamik tidak tersedia.

PROCINFO["api_minor"]
Versi kecil API sambungan. Entri ini bukan
hadir jika memuatkan sambungan dinamik tidak tersedia.

PROCINFO["versi"] versi hinggap.

MODUS BULAT Mod pembundaran untuk digunakan untuk aritmetik ketepatan arbitrari pada nombor, oleh
lalai "N" (mod IEEE-754 roundTiesToEven). Nilai yang diterima ialah "N" or
"n" untuk roundTiesToEven, "U" or "awak" untuk pusinganTowardPositive, "D" or "d" Untuk
pusinganMenujuNegatif, "Z" or "z" untuk roundTowardZero, dan jika versi anda
Pustaka GNU MPFR menyokongnya, "A" or "a" untuk roundTiesToAway.

RS Pemisah rekod input, secara lalai baris baharu.

RT Penamat rekod. Gawk set RT kepada teks input yang sepadan dengan
aksara atau ungkapan biasa yang ditentukan oleh RS.

MULAKAN Indeks aksara pertama dipadankan dengan perlawanan(); 0 jika tiada perlawanan. (Ini
menunjukkan bahawa indeks aksara bermula pada satu.)

RLENGTH Panjang rentetan dipadankan dengan perlawanan(); -1 jika tiada perlawanan.

SUBSEP Watak yang digunakan untuk memisahkan berbilang subskrip dalam elemen tatasusunan, oleh
lalai "\034".

SYMTAB Tatasusunan yang indeksnya ialah nama semua pembolehubah global yang ditakrifkan pada masa ini
dan tatasusunan dalam program. Tatasusunan boleh digunakan untuk akses tidak langsung untuk membaca
atau tulis nilai pembolehubah:

foo = 5
SYMTAB["foo"] = 4
cetak foo # cetakan 4

. isarray() fungsi boleh digunakan untuk menguji sama ada elemen dalam SYMTAB merupakan
tatasusunan. Anda mungkin tidak menggunakan memadam penyataan dengan SYMTAB susunan.

TEXTDOMAIN Domain teks program AWK; digunakan untuk mencari terjemahan setempat
untuk rentetan program.

Arrays
Tatasusunan dilanggan dengan ungkapan antara kurungan segi empat sama ([ and ]). Sekiranya
ungkapan ialah senarai ungkapan (expr, expr ...) maka subskrip tatasusunan ialah rentetan
yang terdiri daripada gabungan nilai (rentetan) setiap ungkapan, dipisahkan oleh
nilai SUBSEP pembolehubah. Kemudahan ini digunakan untuk mensimulasikan dimensi berganda
tatasusunan. Sebagai contoh:

i = "A"; j = "B"; k = "C"
x[i, j, k] = "hello, dunia\n"

memberikan rentetan "hello, dunia\n" kepada elemen tatasusunan x yang diindeks oleh
rentetan "A\034B\034C". Semua tatasusunan dalam AWK adalah bersekutu, iaitu, diindeks oleh nilai rentetan.

Pengendali khas in boleh digunakan untuk menguji jika tatasusunan mempunyai indeks yang terdiri daripada a
nilai tertentu:

if (val in tatasusunan)
cetak tatasusunan[val]

Jika tatasusunan mempunyai berbilang subskrip, gunakan (i, j) in pelbagai.

. in konstruk juga boleh digunakan dalam a Untuk gelung untuk mengulangi semua elemen an
tatasusunan. Walau bagaimanapun (i, j) in pelbagai construct hanya berfungsi dalam ujian, bukan dalam Untuk gelung.

Satu elemen boleh dipadamkan daripada tatasusunan menggunakan memadam kenyataan. The memadam kenyataan
juga boleh digunakan untuk memadam keseluruhan kandungan tatasusunan, hanya dengan menentukan tatasusunan
nama tanpa subskrip.

hinggap menyokong tatasusunan berbilang dimensi yang benar. Ia tidak memerlukan tatasusunan sedemikian
`` segi empat tepat'' seperti dalam C atau C++. Sebagai contoh:

a[1] = 5
a[2][1] = 6
a[2][2] = 7

NOTA: Anda mungkin perlu memberitahu hinggap bahawa elemen tatasusunan adalah benar-benar subarray untuk digunakan
ia di mana hinggap mengharapkan tatasusunan (seperti dalam hujah kedua to berpecah ()). awak boleh buat
ini dengan mencipta elemen dalam subarray dan kemudian memadamkannya dengan memadam
kenyataan.

Pembolehubah Menaip dan Penukaran
Pembolehubah dan medan mungkin (titik terapung) nombor, atau rentetan, atau kedua-duanya. Bagaimana nilai
sesuatu pembolehubah ditafsirkan bergantung pada konteksnya. Jika digunakan dalam ungkapan angka,
ia akan dianggap sebagai nombor; jika digunakan sebagai rentetan ia akan dianggap sebagai rentetan.

Untuk memaksa pembolehubah dianggap sebagai nombor, tambah 0 padanya; untuk memaksa ia dianggap sebagai a
rentetan, gabungkan dengan rentetan nol.

Pembolehubah yang tidak dimulakan mempunyai nilai angka 0 dan nilai rentetan "" (null, or
kosong, rentetan).

Apabila rentetan mesti ditukar kepada nombor, penukaran dicapai menggunakan
strtod(3). Nombor ditukar kepada rentetan dengan menggunakan nilai CONVFMT sebagai satu format
rentetan untuk pecut(3), dengan nilai berangka pembolehubah sebagai hujah. Walau bagaimanapun,
walaupun semua nombor dalam AWK adalah titik terapung, nilai kamiran adalah sentiasa ditukar sebagai
integer. Justeru, diberikan

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

pemboleh ubah b mempunyai nilai rentetan sebanyak "12" dan tidak "12.00".

NOTA: Apabila beroperasi dalam mod POSIX (seperti dengan --posix pilihan), berhati-hati tempat itu
tetapan mungkin mengganggu cara nombor perpuluhan dilayan: pemisah perpuluhan bagi
nombor yang anda suapkan hinggap mesti mematuhi apa yang dijangkakan oleh tempat anda, sama ada a
koma (,) atau noktah (.).

Gawk melakukan perbandingan seperti berikut: Jika dua pembolehubah adalah berangka, ia dibandingkan
secara berangka. Jika satu nilai adalah angka dan satu lagi mempunyai nilai rentetan yang merupakan "numeric
rentetan,” maka perbandingan juga dilakukan secara berangka. Jika tidak, nilai berangkanya ialah
ditukar kepada rentetan dan perbandingan rentetan dilakukan. Dua rentetan dibandingkan, daripada
tentu saja, sebagai rentetan.

Perhatikan bahawa pemalar rentetan, seperti "57", adalah tidak rentetan angka, ia adalah rentetan
pemalar. Idea "rentetan angka" hanya digunakan pada medan, garis panduan input, NAMA FAIL,
ARGV unsur, ALAM SEKITAR elemen dan elemen tatasusunan yang dicipta oleh berpecah () or
patsplit() iaitu rentetan angka. Idea asasnya ialah pengguna input, dan hanya pengguna
input, yang kelihatan angka, harus diperlakukan seperti itu.

Octal and Perenambelasan Malang
Anda boleh menggunakan pemalar perlapanan dan perenambelasan gaya C dalam kod sumber program AWK anda. Untuk
contoh, nilai perlapanan 011 adalah sama dengan perpuluhan 9, dan nilai perenambelasan 0x11 is
sama dengan perpuluhan 17.

Rentetan Malang
Pemalar rentetan dalam AWK ialah jujukan aksara yang disertakan di antara petikan berganda (seperti
"nilai"). Dalam rentetan, tertentu melarikan diri urutan diiktiraf, seperti dalam C. Ini adalah:

\\ Segaris ke belakang literal.

\a Watak "berjaga-jaga"; selalunya watak ASCII BEL.

\b Ruang belakang.

\f Suapan borang.

\n Baris baru.

\r Pulangan pengangkutan.

\t Tab mendatar.

\v Tab menegak.

\xheks digit
Watak yang diwakili oleh rentetan digit heksadesimal berikutan \x. Sebagai
dalam ISO C, semua digit heksadesimal berikut dianggap sebagai sebahagian daripada pelarian
urutan. (Ciri ini harus memberitahu kami sesuatu tentang reka bentuk bahasa oleh
jawatankuasa.) Cth, "\x1B" ialah aksara ASCII ESC (melarikan diri).

\ddd Watak yang diwakili oleh jujukan 1-, 2- atau 3 digit bagi digit perlapanan. Cth,
"\033" ialah aksara ASCII ESC (melarikan diri).

\c Watak tersurat c.

Urutan pelarian juga boleh digunakan di dalam ungkapan tetap malar (cth,
/[ \t\f\n\r\v]/ sepadan dengan aksara ruang putih).

Dalam mod keserasian, aksara yang diwakili oleh pelarian oktal dan perenambelasan
jujukan diperlakukan secara literal apabila digunakan dalam pemalar ungkapan biasa. Oleh itu, /a\52b/
adalah bersamaan dengan /a\*b/.

CORAK DAN TINDAKAN


AWK ialah bahasa berorientasikan baris. Corak didahulukan, dan kemudian tindakan. Tindakan
kenyataan disertakan bersama { and }. Sama ada corak mungkin hilang, atau tindakan mungkin
hilang, tetapi, tentu saja, bukan kedua-duanya. Jika corak tiada, tindakan akan dilaksanakan
untuk setiap rekod input. Tindakan yang hilang adalah bersamaan dengan

{ cetak }

yang mencetak keseluruhan rekod.

Komen bermula dengan # watak, dan teruskan sehingga akhir baris. Garis kosong
boleh digunakan untuk memisahkan pernyataan. Biasanya, pernyataan berakhir dengan baris baharu, walau bagaimanapun,
ini tidak berlaku untuk baris yang berakhir dengan koma, {, ?, :, &&, Atau ||. Garisan berakhir dengan do
or lagi juga mempunyai penyataan mereka secara automatik diteruskan pada baris berikut. Dalam
kes lain, baris boleh diteruskan dengan menamatkannya dengan "\", dalam kes ini baris baharu adalah
diabaikan.

Beberapa pernyataan boleh diletakkan pada satu baris dengan memisahkannya dengan ";". Ini terpakai kepada
kedua-dua pernyataan dalam bahagian tindakan pasangan pola-tindakan (kes biasa), dan
kepada pernyataan pola-tindakan itu sendiri.

Corak
Corak AWK mungkin salah satu daripada yang berikut:

BEGIN
AKHIR
MULAKAN FAIL
FAIL TAMAT
/kerap ungkapan/
hubungan ungkapan
pola && pola
pola || pola
pola ? pola : pola
(pola)
! pola
pattern1, pattern2

BEGIN and AKHIR ialah dua jenis corak khas yang tidak diuji terhadap input.
Bahagian tindakan semua BEGIN corak digabungkan seolah-olah semua pernyataan telah
ditulis dalam satu BEGIN peraturan. Mereka dilaksanakan sebelum mana-mana input dibaca.
Begitu juga, semua AKHIR peraturan digabungkan, dan dilaksanakan apabila semua input telah habis (atau
apabila sebuah keluar kenyataan dilaksanakan). BEGIN and AKHIR corak tidak boleh digabungkan dengan yang lain
pola dalam ungkapan pola. BEGIN and AKHIR corak tidak boleh mempunyai bahagian tindakan yang hilang.

MULAKAN FAIL and FAIL TAMAT adalah corak khas tambahan yang badannya dilaksanakan sebelum ini
membaca rekod pertama setiap fail input baris arahan dan selepas membaca rekod terakhir
setiap fail. Di dalam MULAKAN FAIL peraturan, nilai ERRNO akan menjadi rentetan kosong jika
fail berjaya dibuka. Jika tidak, terdapat beberapa masalah dengan fail dan fail
kod harus digunakan fail seterusnya untuk melangkaunya. Jika itu tidak dilakukan, hinggap menghasilkan maut biasa
ralat untuk fail yang tidak boleh dibuka.

Untuk /kerap ungkapan/ corak, pernyataan yang berkaitan dilaksanakan untuk setiap input
rekod yang sepadan dengan ungkapan biasa. Ungkapan biasa adalah sama seperti dalam
egrep(1), dan diringkaskan di bawah.

A hubungan ungkapan boleh menggunakan mana-mana operator yang ditakrifkan di bawah dalam bahagian pada
tindakan. Ini biasanya menguji sama ada medan tertentu sepadan dengan ungkapan biasa tertentu.

. &&, ||, dan ! operator adalah logik DAN, logik ATAU, dan logik NOT, masing-masing,
seperti dalam C. Mereka melakukan penilaian litar pintas, juga seperti dalam C, dan digunakan untuk menggabungkan lebih banyak lagi
ungkapan pola primitif. Seperti dalam kebanyakan bahasa, kurungan boleh digunakan untuk menukar
susunan penilaian.

. ?: operator adalah seperti operator yang sama dalam C. Jika pola pertama adalah benar maka
corak yang digunakan untuk ujian ialah corak kedua, jika tidak ia adalah corak ketiga. Hanya satu daripada
pola kedua dan ketiga dinilai.

. pattern1, pattern2 bentuk ungkapan dipanggil a pelbagai pola. Ia sepadan dengan semua
rekod input bermula dengan rekod yang sepadan pattern1, dan berterusan sehingga rekod
yang sepadan pattern2, inklusif. Ia tidak digabungkan dengan apa-apa jenis corak lain
ungkapan.

Biasa Ungkapan
Ungkapan biasa ialah jenis lanjutan yang terdapat dalam egrep. Mereka terdiri daripada watak
seperti berikut:

c Padan dengan bukan aksara meta c.

\c Padan dengan watak tersurat c.

. Padan dengan mana-mana watak termasuk baris baru.

^ Padan dengan permulaan rentetan.

$ Padan dengan hujung rentetan.

[abc...] Senarai aksara: sepadan dengan mana-mana watak abc.... Anda boleh memasukkan a
julat aksara dengan memisahkannya dengan sengkang.

[^abc...] Senarai aksara yang dinafikan: sepadan dengan mana-mana aksara kecuali abc....

r1|r2 Pergantian: sepadan sama ada r1 or r2.

r1r2 Penyatuan: mancis r1, Dan kemudian r2.

r+ Padan dengan satu atau lebih r's.

r* Padan dengan sifar atau lebih r's.

r? Padan dengan sifar atau satu r's.

(r) Kumpulan: perlawanan r.

r{n}
r{n,}
r{n,m} Satu atau dua nombor di dalam pendakap menandakan an selang ungkapan. Sekiranya ada
satu nombor dalam pendakap, ungkapan biasa sebelumnya r diulang n
kali. Jika terdapat dua nombor yang dipisahkan dengan koma, r diulang n kepada m
kali. Jika terdapat satu nombor diikuti dengan koma, maka r diulang sekurang-kurangnya
n kali.

\y Memadankan rentetan kosong sama ada pada awal atau akhir perkataan.

\B Memadankan rentetan kosong dalam perkataan.

\< Padan dengan rentetan kosong pada permulaan perkataan.

\> Padan dengan rentetan kosong di hujung perkataan.

\s Padan dengan mana-mana aksara ruang putih.

\S Padan dengan mana-mana aksara bukan ruang putih.

\w Memadankan mana-mana aksara konstituen perkataan (huruf, digit atau garis bawah).

\W Padan dengan mana-mana watak yang bukan juzuk perkataan.

\` Padan dengan rentetan kosong pada permulaan penimbal (rentetan).

\' Padan dengan rentetan kosong pada penghujung penimbal.

Urutan pelarian yang sah dalam pemalar rentetan (lihat Rentetan Malang) juga
sah dalam ungkapan biasa.

Watak kelas adalah ciri yang diperkenalkan dalam standard POSIX. Kelas watak ialah a
tatatanda khas untuk menerangkan senarai aksara yang mempunyai atribut khusus, tetapi
di mana watak sebenar itu sendiri boleh berbeza dari negara ke negara dan/atau dari
set watak ke set watak. Sebagai contoh, tanggapan tentang apa itu abjad
watak berbeza di Amerika Syarikat dan di Perancis.

Kelas aksara hanya sah dalam ungkapan biasa di dalam kurungan watak
senarai. Kelas watak terdiri daripada [:, kata kunci yang menandakan kelas dan :]. Yang
kelas aksara yang ditakrifkan oleh standard POSIX ialah:

[:alnum:] Aksara abjad angka.

[:alfa:] aksara abjad.

[:kosong:] Ruang atau aksara tab.

[:cntrl:] Kawalan aksara.

[:digit:] Aksara angka.

[:graf:] Aksara yang boleh dicetak dan boleh dilihat. (Ruang boleh dicetak, tetapi tidak
kelihatan, manakala an a adalah kedua-duanya.)

[:bawah:] Aksara abjad huruf kecil.

[:cetak:] Aksara boleh cetak (aksara yang bukan aksara kawalan.)

[:punct:] Aksara tanda baca (aksara yang bukan huruf, digit, kawalan
aksara, atau aksara ruang).

[:ruang:] Aksara ruang (seperti space, tab dan formfeed, untuk menamakan beberapa).

[:atas:] Huruf besar abjad.

[:xdigit:] Aksara yang merupakan digit heksadesimal.

Sebagai contoh, sebelum standard POSIX, untuk memadankan aksara alfanumerik, anda akan mempunyai
terpaksa menulis /[A-Za-z0-9]/. Jika set aksara anda mempunyai aksara abjad lain di dalamnya,
ini tidak sepadan dengan mereka, dan jika set watak anda disusun secara berbeza daripada ASCII, ini
mungkin tidak sepadan dengan aksara alfanumerik ASCII. Dengan kelas aksara POSIX,
anda boleh menulis /[[:alnum:]]/, dan ini sepadan dengan aksara abjad dan angka dalam
set watak anda, tidak kira apa itu.

Dua jujukan khas tambahan boleh muncul dalam senarai aksara. Ini terpakai kepada bukan ASCII
set aksara, yang boleh mempunyai simbol tunggal (dipanggil menyusun unsur-unsur) yang
diwakili dengan lebih daripada satu watak, serta beberapa watak yang
bersamaan untuk menyusun, atau pengisihan, tujuan. (Cth, dalam bahasa Perancis, "e" biasa dan a
“`” beraksen kubur adalah setara.)

Mengumpul Simbol
Simbol penyusun ialah elemen penyusun berbilang aksara yang disertakan [. and .].
Sebagai contoh, jika ch adalah unsur penyusun, maka [[.ch.]] adalah ungkapan biasa
yang sepadan dengan elemen penyusunan ini, manakala [ch] adalah ungkapan biasa yang
sepadan sama ada c or h.

Kelas Kesetaraan
Kelas kesetaraan ialah nama khusus setempat untuk senarai aksara yang
bersamaan. Nama itu disertakan [= and =]. Sebagai contoh, nama e mungkin
digunakan untuk mewakili semua "e," "´," dan "`." Dalam kes ini, [[=e=]] adalah biasa
ungkapan yang sepadan dengan mana-mana e, , Atau e`.

Ciri-ciri ini sangat berharga dalam kawasan bukan berbahasa Inggeris. Perpustakaan berfungsi
Bahawa hinggap penggunaan untuk padanan ungkapan biasa pada masa ini hanya mengenali aksara POSIX
kelas; mereka tidak mengenali simbol penyusunan atau kelas kesetaraan.

. \y, \B, \<, \>, \s, \S, \w, \W, \`, dan \' pengendali adalah khusus untuk hinggap; mereka
sambungan berdasarkan kemudahan dalam perpustakaan ekspresi biasa GNU.

Pelbagai pilihan baris arahan mengawal bagaimana hinggap mentafsir aksara dalam biasa
ungkapan.

Tiada pilihan
Dalam kes lalai, hinggap menyediakan semua kemudahan ungkapan biasa POSIX
dan pengendali ungkapan biasa GNU yang diterangkan di atas.

--posix
Hanya ungkapan biasa POSIX yang disokong, pengendali GNU tidak istimewa.
(Cth, \w sepadan dengan literal w).

--tradisional
UNIX tradisional awk ungkapan biasa dipadankan. Pengendali GNU tidak
khas, dan ungkapan selang tidak tersedia. Watak yang diterangkan oleh oktal
dan jujukan pelarian heksadesimal dianggap secara literal, walaupun ia mewakili
metakarakter ungkapan biasa.

--selang semula
Benarkan ungkapan selang dalam ungkapan biasa, walaupun jika --tradisional telah
disediakan.

Tindakan
Pernyataan tindakan disertakan dalam pendakap, { and }. Pernyataan tindakan terdiri daripada yang biasa
penyataan tugasan, bersyarat dan gelung yang terdapat dalam kebanyakan bahasa. Para pengendali,
penyataan kawalan, dan penyataan input/output yang tersedia dicorak selepas penyataan dalam C.

Operator
Pengendali dalam AWK, mengikut keutamaan yang berkurangan, ialah:

(...) Pengumpulan

$ Rujukan lapangan.

++ -- Kenaikan dan penyusutan, kedua-dua awalan dan pascafix.

^ Eksponentasi (** juga boleh digunakan, dan **= untuk pengendali tugasan).

+ - ! Tambah unari, tolak unari, dan penolakan logik.

* / % Pendaraban, pembahagian, dan modulus.

+ - Penambahan dan pengurangan.

ruang Penggabungan rentetan.

| |& I/O berpaip untuk garis panduan, cetak, dan Printf.

< > <= >= != ==
Pengendali perhubungan biasa.

~ !~ Padanan ungkapan biasa, padanan dinafikan. NOTA: Jangan gunakan tetap tetap
ungkapan (/foo/) di sebelah kiri a ~ or !~. Hanya gunakan satu pada
sebelah kanan. Ekspresi /foo/ ~ exp mempunyai makna yang sama seperti ($0 ~
/foo/) ~ exp). Ini biasanya tidak apa kamu mahu.

in Keahlian array.

&& Logik DAN.

|| Logik ATAU.

?: Ungkapan bersyarat C. Ini mempunyai bentuk expr1 ? expr2 : expr3. Jika
expr1 adalah benar, nilai ungkapan ialah expr2, jika tidak expr3.
Hanya satu daripada expr2 and expr3 dinilai.

= += -= *= /= %= ^=
Tugasan. Kedua-dua tugasan mutlak (var = nilai) dan penugasan operator
(bentuk lain) disokong.

Mengawal Penyata
Pernyataan kawalan adalah seperti berikut:

if (keadaan) kenyataan [ lagi kenyataan ]
manakala (keadaan) kenyataan
do kenyataan manakala (keadaan)
Untuk (expr1; expr2; expr3) kenyataan
Untuk (var in pelbagai) kenyataan
memecahkan
terus
memadam pelbagai[indeks]
memadam pelbagai
keluar [ ungkapan ]
{ kenyataan }
bertukar (ungkapan) {
kes nilai|regex : kenyataan
...
[ lalai: kenyataan ]
}

I / O Penyata
Penyataan input/output adalah seperti berikut:

tutup(fail [, bagaimana]) Tutup fail, paip atau proses bersama. Pilihan bagaimana semestinya
digunakan apabila menutup satu hujung paip dua hala kepada proses bersama. Ia
mestilah nilai rentetan, sama ada "ke" or "dari".

garis panduan Tetapkan $0 daripada rekod input seterusnya; ditetapkan NF, NR, FNR, RT.

garis panduan <fail Tetapkan $0 daripada rekod seterusnya fail; ditetapkan NF, RT.

garis panduan var Tetapkan var daripada rekod input seterusnya; ditetapkan NR, FNR, RT.

garis panduan var <fail Tetapkan var daripada rekod seterusnya fail, RT.

arahan | garis panduan [var]
Main arahan menyalurkan output sama ada ke $0 or var, seperti di atas, dan
RT.

arahan |& garis panduan [var]
Main arahan sebagai proses bersama memaipkan output sama ada ke dalam $0 or var,
seperti di atas, dan RT. Proses bersama ialah a hinggap sambungan. (arahan boleh
juga menjadi soket. Lihat subseksyen khas File Nama, di bawah.)

seterusnya Berhenti memproses rekod input semasa. Rekod input seterusnya ialah
baca dan pemprosesan bermula semula dengan corak pertama dalam AWK
program. Apabila sampai ke penghujung data input, hinggap melaksanakan mana-mana
AKHIR peraturan.

fail seterusnya Berhenti memproses fail input semasa. Rekod input seterusnya dibaca
datang dari fail input seterusnya. NAMA FAIL and ARGIND dikemas kini,
FNR ditetapkan semula kepada 1, dan pemprosesan bermula semula dengan corak pertama
dalam program AWK. Apabila sampai ke penghujung data input, hinggap
melaksanakan mana-mana AKHIR peraturan.

cetak Cetak rekod semasa. Rekod keluaran ditamatkan dengan
nilai ORS.

cetak senarai expr Cetak ungkapan. Setiap ungkapan dipisahkan oleh nilai
FSO. Rekod keluaran ditamatkan dengan nilai ORS.

cetak senarai expr >fail Cetak ungkapan dihidupkan fail. Setiap ungkapan dipisahkan oleh
nilai FSO. Rekod keluaran ditamatkan dengan nilai
ORS.

Printf fmt, senarai expr Format dan cetak. Lihat . Printf Penyata, di bawah.

Printf fmt, senarai expr >fail
Format dan cetak pada fail.

sistem(cmd-line) Jalankan arahan cmd-line, dan kembalikan status keluar. (Ini mungkin
tidak tersedia pada sistem bukan POSIX.)

buang air ([fail]) Siram sebarang penimbal yang dikaitkan dengan fail keluaran terbuka atau paip fail.
If fail tiada atau jika ia adalah rentetan nol, kemudian siram semua terbuka
fail keluaran dan paip.

Ubah hala keluaran tambahan dibenarkan untuk cetak and Printf.

cetak ... >> fail
Menambahkan output pada fail.

cetak ... | arahan
Menulis pada paip.

cetak ... |& arahan
Menghantar data ke proses bersama atau soket. (Lihat juga subseksyen khas File Nama,
di bawah.)

. garis panduan arahan mengembalikan 1 pada kejayaan, 0 pada akhir fail, dan -1 pada ralat. Apabila suatu
kesilapan, ERRNO ditetapkan kepada rentetan yang menerangkan masalah.

NOTA: Kegagalan dalam membuka soket dua hala mengakibatkan ralat tidak membawa maut dikembalikan kepada
fungsi panggilan. Jika menggunakan paip, proses bersama atau soket ke garis panduan, Atau dari cetak or
Printf dalam satu gelung, anda kemestian penggunaan tutup () untuk mencipta contoh baharu perintah atau
soket. AWK tidak menutup paip, soket atau proses bersama secara automatik apabila ia kembali
EOF.

. Printf Penyata
Versi AWK bagi Printf kenyataan dan pecut () fungsi (lihat di bawah) menerima
format spesifikasi penukaran berikut:

%c Satu watak. Jika hujah digunakan untuk %c adalah berangka, ia dianggap sebagai a
watak dan dicetak. Jika tidak, hujah itu diandaikan sebagai rentetan, dan
hanya aksara pertama rentetan itu dicetak.

%d, %i Nombor perpuluhan (bahagian integer).

%e, %E Nombor titik terapung dalam bentuk [-]d.dddddde[+-]dd. Yang %E kegunaan format E
bukan e.

%f, %F Nombor titik terapung dalam bentuk [-]ddd.dddddd. Jika perpustakaan sistem menyokong
ia, %F tersedia juga. Ini seperti %f, tetapi menggunakan huruf besar untuk khas
"bukan nombor" dan nilai "infiniti". Jika %F tidak boleh didapati, hinggap menggunakan %f.

%g, %G Penggunaan %e or %f penukaran, yang mana lebih pendek, dengan sifar tidak ketara
ditindas. The %G kegunaan format %E bukan %e.

%o Nombor perlapanan tidak bertanda (juga integer).

%u Nombor perpuluhan yang tidak ditandatangani (sekali lagi, integer).

%s Rentetan aksara.

%x, %X Nombor perenambelasan tidak bertanda (integer). The %X kegunaan format A B C D E F bukan
a B C D E F.

%% Satu tunggal % watak; tiada hujah yang ditukar.

Pilihan, parameter tambahan mungkin terletak di antara % dan surat kawalan:

mengira$ Menggunakan mengira'hujah pada ketika ini dalam pemformatan. Ini dipanggil a
kedudukannya penentu dan bertujuan terutamanya untuk digunakan dalam versi terjemahan
rentetan format, bukan dalam teks asal program AWK. Ia adalah hinggap
sambungan.

- Ungkapan itu harus dibiarkan dibenarkan dalam medannya.

ruang Untuk penukaran angka, awalan nilai positif dengan ruang dan nilai negatif
dengan tanda tolak.

+ Tanda tambah, yang digunakan sebelum pengubah suai lebar (lihat di bawah), mengatakan untuk sentiasa membekalkan a
tanda untuk penukaran berangka, walaupun data yang akan diformatkan adalah positif. The +
mengatasi pengubah suai ruang.

# Gunakan "borang ganti" untuk surat kawalan tertentu. Untuk %o, membekalkan peneraju
sifar. Untuk %x, dan %X, membekalkan peneraju 0x or 0X untuk hasil bukan sifar. Untuk %e, %E,
%f and %F, hasilnya sentiasa mengandungi titik perpuluhan. Untuk %g, dan %G, mengekori
sifar tidak dikeluarkan daripada keputusan.

0 Yang terkemuka 0 (sifar) bertindak sebagai bendera, yang menunjukkan output harus berlapik dengan
sifar bukannya ruang. Ini hanya terpakai kepada format output angka. ini
bendera hanya mempunyai kesan apabila lebar medan lebih luas daripada nilai yang akan dicetak.

' Watak petikan tunggal mengarahkan hinggap untuk memasukkan pemisah beribu-ribu tempat itu
aksara ke dalam nombor perpuluhan, dan juga menggunakan titik perpuluhan tempat itu
watak dengan format titik terapung. Ini memerlukan sokongan setempat yang betul dalam
C perpustakaan dan dalam takrifan tempat semasa.

lebar Medan hendaklah berlapik selebar ini. Padang ini biasanya berlapik dengan
ruang. Dengan 0 bendera, ia berlapik dengan sifar.

.prac Nombor yang menentukan ketepatan untuk digunakan semasa mencetak. Untuk %e, %E, %f and
%F, format, ini menentukan bilangan digit yang anda mahu cetak di sebelah kanan
titik perpuluhan. Untuk %g, dan %G format, ia menentukan bilangan maksimum
digit bererti. Untuk %d, %i, %o, %u, %x, dan %X format, ia menentukan
bilangan digit minimum untuk dicetak. Untuk %s, ia menentukan bilangan maksimum
aksara daripada rentetan yang perlu dicetak.

Dinamik lebar and prac keupayaan ISO C printf() rutin disokong. A *
sebagai ganti sama ada lebar or prac spesifikasi menyebabkan nilai mereka diambil daripada
senarai hujah ke Printf or pecut (). Untuk menggunakan penentu kedudukan dengan dinamik
lebar atau ketepatan, bekalkan mengira$ selepas * dalam rentetan format. Sebagai contoh,
"%3$*2$.*1$s".

khas File Nama
Apabila melakukan pengalihan I/O dari salah satu cetak or Printf ke dalam fail, atau melalui garis panduan daripada
fail, hinggap mengenali nama fail khas tertentu secara dalaman. Nama fail ini membenarkan akses
untuk membuka deskriptor fail yang diwarisi daripada hinggapproses induk (biasanya shell). Ini
nama fail juga boleh digunakan pada baris arahan untuk menamakan fail data. Nama failnya ialah:

- Input standard.

/dev/stdin Input standard.

/dev/stdout Keluaran standard.

/dev/stderr Output ralat standard.

/dev/fd/n Fail yang dikaitkan dengan deskriptor fail terbuka n.

Ini amat berguna untuk mesej ralat. Sebagai contoh:

cetak "Kamu meniup ia!" > "/dev/stderr"

sedangkan anda sebaliknya perlu menggunakan

cetak "Kamu meniup ia!" | "kucing 1>&2"

Nama fail khas berikut boleh digunakan dengan |& pengendali proses bersama untuk mencipta
Sambungan rangkaian TCP/IP:

/inet/tcp/lport/rhost/laporan
/inet4/tcp/lport/rhost/laporan
/inet6/tcp/lport/rhost/laporan
Fail untuk sambungan TCP/IP pada port tempatan lport ke hos jauh rhost pada jarak jauh
pelabuhan laporan. Gunakan pelabuhan daripada 0 untuk meminta sistem memilih port. guna /inet4 untuk memaksa
sambungan IPv4, dan /inet6 untuk memaksa sambungan IPv6. Kosong /inet menggunakan
lalai sistem (kemungkinan besar IPv4).

/inet/udp/lport/rhost/laporan
/inet4/udp/lport/rhost/laporan
/inet6/udp/lport/rhost/laporan
Serupa, tetapi gunakan UDP/IP dan bukannya TCP/IP.

Angka Fungsi
AWK mempunyai fungsi aritmetik terbina dalam berikut:

atan2(y, x) Kembalikan arctangent daripada y / x dalam radian.

cos (expr) Kembalikan kosinus bagi expr, iaitu dalam radian.

exp(expr) Fungsi eksponen.

int(expr) Pangkas kepada integer.

log(expr) Fungsi logaritma semula jadi.

rand () Kembalikan nombor rawak N, antara 0 dan 1, supaya 0 ≤ N <1.

dosa (expr) Kembalikan sinus daripada expr, iaitu dalam radian.

persegi(expr) Kembalikan punca kuasa dua bagi expr.

serpihan([expr]) Penggunaan expr sebagai benih baharu untuk penjana nombor rawak. Jika tidak expr is
dengan syarat, gunakan masa hari itu. Kembalikan benih sebelumnya untuk rawak
penjana nombor.

Rentetan Fungsi
Gawk mempunyai fungsi rentetan terbina dalam berikut:

gabungan(s [, d [, bagaimana] ]) Kembalikan bilangan elemen dalam tatasusunan sumber s. Isih
kandungan daripada s menggunakan hinggapperaturan biasa untuk membandingkan nilai, dan
menggantikan indeks nilai yang diisih s dengan berurutan
integer bermula dengan 1. Jika tatasusunan destinasi pilihan d is
ditentukan, pendua pertama s ke dalam d, dan kemudian susun d, meninggalkan
indeks tatasusunan sumber s tidak berubah. Rentetan pilihan bagaimana
mengawal arah dan mod perbandingan. Nilai yang sah untuk
bagaimana adalah mana-mana rentetan yang sah untuk PROCINFO["sorted_in"]. ia
juga boleh menjadi nama fungsi perbandingan yang ditentukan pengguna sebagai
dijelaskan dalam PROCINFO["sorted_in"].

asorti(s [, d [, bagaimana] ])
Kembalikan bilangan elemen dalam tatasusunan sumber s. Tingkah laku
sama dengan yang asort(), kecuali array indeks adalah
digunakan untuk mengisih, bukan nilai tatasusunan. Apabila selesai, tatasusunan adalah
diindeks secara berangka, dan nilainya adalah nilai asal
Indeks. Nilai asal hilang; dengan itu menyediakan yang kedua
array jika anda ingin mengekalkan yang asal. Tujuan daripada
rentetan pilihan bagaimana adalah sama seperti yang diterangkan dalam asort() atas.

gensub(r, s, h [, t]) Cari rentetan sasaran t untuk padanan ungkapan biasa
r. Jika h ialah rentetan yang bermula dengan g or G, kemudian ganti semua
perlawanan daripada r bersama s. Jika tidak, h ialah nombor yang menunjukkan yang
perlawanan daripada r untuk menggantikan. Jika t tidak dibekalkan, gunakan $0 sebaliknya.
Dalam teks gantian s, urutannya \n, Di mana n ialah digit
dari 1 hingga 9, boleh digunakan untuk menunjukkan hanya teks yang sepadan
yang n'subungkapan dalam kurungan. Urutannya \0 mewakili
keseluruhan teks yang dipadankan, begitu juga dengan watak &. Tidak seperti sub()
and gsub(), rentetan yang diubah suai dikembalikan sebagai hasil daripada
fungsi, dan rentetan sasaran asal ialah tidak berubah.

gsub(r, s [, t]) Untuk setiap subrentetan yang sepadan dengan ungkapan biasa r dalam rentetan
t, gantikan rentetan s, dan kembalikan nombor
penggantian. Jika t tidak dibekalkan, gunakan $0, Pada & dalam
teks gantian digantikan dengan teks yang sebenarnya
dipadankan. guna \& untuk mendapatkan literal &. (Ini mesti ditaip sebagai
"\\&"; lihat GAWK: Berkesan AWK Pengaturcaraan untuk perbincangan yang lebih lengkap
daripada peraturan untuk &'s dan sebatan belakang dalam teks gantian
sub(), gsub(), dan gensub().)

indeks(s, t) Kembalikan indeks rentetan t dalam rentetan s, atau 0 jika t tidak
hadir. (Ini menunjukkan bahawa indeks aksara bermula pada satu.) Ia
adalah ralat maut untuk menggunakan pemalar regexp untuk t.

panjang ([s]) Kembalikan panjang tali s, atau panjang $0 if s tidak
dibekalkan. Sebagai sambungan bukan standard, dengan hujah tatasusunan,
panjang () mengembalikan bilangan elemen dalam tatasusunan.

perlawanan(s, r [, a]) Kembalikan kedudukan dalam s di mana ungkapan biasa r berlaku, atau
0 jika r tidak hadir, dan tetapkan nilai MULAKAN and RLENGTH.
Ambil perhatian bahawa susunan hujah adalah sama seperti untuk ~ pengendali:
str ~ re. Jika tatasusunan a disediakan, a dibersihkan dan kemudian elemen
1 hingga n diisi dengan bahagian-bahagian daripada s yang sepadan dengan
subungkapan dalam kurungan yang sepadan dalam r. Unsur ke-0
of a mengandungi bahagian daripada s dipadankan oleh keseluruhan biasa
ungkapan r. Subskrip a[n, "mula"], dan a[n, "panjang"]
sediakan indeks permulaan dalam rentetan dan panjang masing-masing,
setiap subrentetan yang sepadan.

patsplit(s, a [, r [, sep] ])
Pisahkan tali s ke dalam tatasusunan a dan tatasusunan pemisah sep
pada ungkapan biasa r, dan kembalikan bilangan medan.
Nilai elemen ialah bahagian daripada s yang sepadan r. Nilai
sep[i] adalah pemisah yang muncul di hadapan a[i+1]. Jika r
ditinggalkan, FPAT digunakan sebaliknya. Tatasusunan a and sep adalah
dibersihkan dahulu. Pemisahan berkelakuan sama dengan pemisahan medan
bersama FPAT, diterangkan di atas.

berpecah (s, a [, r [, sep] ])
Pisahkan tali s ke dalam tatasusunan a dan tatasusunan pemisah sep
pada ungkapan biasa r, dan kembalikan bilangan medan. Jika
r ditinggalkan, FS digunakan sebaliknya. Tatasusunan a and sep adalah
dibersihkan dahulu. sep[i] ialah pemisah medan dipadankan dengan r
antara a[i] and a[i+1]. Jika r ialah satu ruang, kemudian memimpin
ruang putih masuk s masuk ke dalam elemen tatasusunan tambahan sep[0] and
ruang putih mengekori masuk ke dalam elemen tatasusunan tambahan sep[n],
di mana n ialah nilai pulangan bagi berpecah (s, a, r, sep). Perpecahan
berkelakuan sama dengan pemisahan medan, yang diterangkan di atas.

sprintf (fmt, senarai expr) Cetak senarai expr mengikut fmt, dan kembalikan rentetan yang terhasil.

strtonum(str) Periksa str, dan kembalikan nilai berangkanya. Jika str bermula dengan a
terkemuka 0, anggap ia sebagai nombor perlapanan. Jika str bermula dengan a
terkemuka 0x or 0X, anggap ia sebagai nombor perenambelasan. Jika tidak,
andaikan ia adalah nombor perpuluhan.

sub(r, s [, t]) Seperti gsub(), tetapi gantikan hanya subrentetan pertama yang sepadan.

substr(s, i [, n]) Pulang paling banyak n-subrentetan aksara daripada s bermula i. Jika n
ditinggalkan, gunakan selebihnya s.

untuk rendahkan(str) Kembalikan salinan rentetan str, dengan semua aksara besar
in str diterjemahkan kepada huruf kecil yang sepadan.
Aksara bukan abjad dibiarkan tidak berubah.

topper(str) Kembalikan salinan rentetan str, dengan semua aksara huruf kecil
in str diterjemahkan kepada huruf besar yang sepadan.
Aksara bukan abjad dibiarkan tidak berubah.

Gawk adalah multibait sedar. Ini bermakna bahawa indeks (), panjang (), substr() and perlawanan() semua kerja
dari segi aksara, bukan bait.

Masa Fungsi
Memandangkan salah satu kegunaan utama program AWK ialah memproses fail log yang mengandungi masa
maklumat setem, hinggap menyediakan fungsi berikut untuk mendapatkan cap masa dan
memformat mereka.

mktime(tarikhpec)
Berpaling tarikhpec ke dalam setem masa dalam bentuk yang sama seperti yang dikembalikan oleh systime(), dan
pulangkan hasilnya. The tarikhpec ialah rentetan bentuk YYYY MM DD HH MM SS[
DST]. Kandungan rentetan ialah enam atau tujuh nombor yang mewakili
masing-masing tahun penuh termasuk abad, bulan dari 1 hingga 12, hari
bulan dari 1 hingga 31, jam hari dari 0 hingga 23, minit dari 0 hingga
59, yang kedua dari 0 hingga 60, dan bendera penjimatan siang pilihan. Nilai-nilai
daripada nombor ini tidak semestinya dalam julat yang ditentukan; sebagai contoh, sejam
daripada -1 bermakna 1 jam sebelum tengah malam. Kalendar Gregorian asal-sifar ialah
diandaikan, dengan tahun 0 sebelum tahun 1 dan tahun -1 sebelum tahun 0. Masanya ialah
diandaikan berada dalam zon waktu tempatan. Jika bendera penjimatan siang adalah positif,
masa itu diandaikan sebagai masa penjimatan siang; jika sifar, masa diandaikan
menjadi masa standard; dan jika negatif (lalai), mktime () percubaan untuk menentukan
sama ada waktu penjimatan siang berkuat kuasa untuk masa yang ditentukan. Jika tarikhpec
tidak mengandungi unsur yang mencukupi atau jika masa yang terhasil di luar julat,
mktime () pulangan -1.

strftime([format [, cap masa[, utc-bendera]]])
format cap masa mengikut spesifikasi dalam format. Jika utc-bendera is
hadir dan bukan sifar atau bukan nol, hasilnya dalam UTC, jika tidak, hasilnya
adalah dalam waktu tempatan. The cap masa hendaklah dalam bentuk yang sama seperti yang dikembalikan oleh
systime(). Jika cap masa tiada, masa semasa hari digunakan. Jika format
tiada, format lalai yang setara dengan output tarikh(1) digunakan. The
format lalai tersedia dalam PROCINFO["strftime"]. Lihat spesifikasi untuk
yang waktu senggang () berfungsi dalam ISO C untuk penukaran format yang dijamin
untuk tersedia.

systime() Kembalikan masa semasa hari sebagai bilangan saat sejak Epoch
(1970-01-01 00:00:00 UTC pada sistem POSIX).

Bit Manipulasi Fungsi
Gawk membekalkan fungsi manipulasi bit berikut. Mereka bekerja dengan menukar dua-
nilai titik terapung ketepatan kepada uintmax_t integer, melakukan operasi, dan kemudian
menukar hasil kembali kepada titik terapung. Fungsinya ialah:

dan(v1, v2 [, ...]) Kembalikan bitwise DAN nilai yang disediakan dalam senarai argumen.
Mesti ada sekurang-kurangnya dua.

compl(val) Kembalikan pelengkap bitwise val.

lshift(val, mengira) Kembalikan nilai val, beralih ke kiri oleh mengira bit.

atau(v1, v2 [, ...]) Kembalikan bitwise ATAU nilai yang disediakan dalam senarai argumen.
Mesti ada sekurang-kurangnya dua.

rshift(val, mengira) Kembalikan nilai val, beralih ke kanan oleh mengira bit.

xor(v1, v2 [, ...]) Kembalikan XOR bitwise bagi nilai yang disediakan dalam senarai argumen.
Mesti ada sekurang-kurangnya dua.

Jenis fungsi
Fungsi berikut adalah untuk digunakan dengan tatasusunan berbilang dimensi.

isarray(x)
Kembalikan benar jika x ialah tatasusunan, palsu sebaliknya.

Pengantarabangsaan Fungsi
Fungsi berikut boleh digunakan dari dalam program AWK anda untuk menterjemah rentetan
pada masa berjalan. Untuk butiran penuh, lihat GAWK: Berkesan AWK Pengaturcaraan.

bindtextdomain(direktori [, domain])
Nyatakan direktori di mana hinggap mencari .gmo fail, sekiranya mereka tidak akan atau
tidak boleh diletakkan di lokasi ``standard'' (cth, semasa ujian). Ia kembali
direktori di mana domain adalah ``terikat.''
Lalai domain adalah nilai TEXTDOMAIN. Jika direktori ialah rentetan nol
(""), kemudian bindtextdomain() mengembalikan ikatan semasa untuk yang diberikan domain.

dcgettext(rentetan [, domain [, kategori]])
Kembalikan terjemahan daripada rentetan dalam domain teks domain untuk kategori tempatan
kategori. Nilai lalai untuk domain ialah nilai semasa bagi TEXTDOMAIN. Yang
nilai lalai untuk kategori is "LC_MESSAGES".
Jika anda membekalkan nilai untuk kategori, ia mestilah rentetan yang sama dengan salah satu daripada yang diketahui
kategori setempat yang diterangkan dalam GAWK: Berkesan AWK Pengaturcaraan. Anda juga mesti
membekalkan domain teks. guna TEXTDOMAIN jika anda ingin menggunakan domain semasa.

dcngettext(string1, string2, nombor [, domain [, kategori]])
Kembalikan bentuk jamak yang digunakan untuk nombor daripada terjemahan daripada string1 and string2 in
domain teks domain untuk kategori tempatan kategori. Nilai lalai untuk domain is
nilai semasa bagi TEXTDOMAIN. Nilai lalai untuk kategori is "LC_MESSAGES".
Jika anda membekalkan nilai untuk kategori, ia mestilah rentetan yang sama dengan salah satu daripada yang diketahui
kategori setempat yang diterangkan dalam GAWK: Berkesan AWK Pengaturcaraan. Anda juga mesti
membekalkan domain teks. guna TEXTDOMAIN jika anda ingin menggunakan domain semasa.

DIGUNAKAN PENGGUNA FUNGSI


Fungsi dalam AWK ditakrifkan seperti berikut:

fungsi nama(parameter senarai) { kenyataan }

Fungsi dilaksanakan apabila ia dipanggil dari dalam ungkapan dalam sama ada corak atau
tindakan. Parameter sebenar yang dibekalkan dalam panggilan fungsi digunakan untuk membuat instantiate
parameter formal yang diisytiharkan dalam fungsi. Tatasusunan diluluskan dengan rujukan, lain-lain
pembolehubah diluluskan oleh nilai.

Oleh kerana fungsi pada asalnya bukan sebahagian daripada bahasa AWK, peruntukan untuk tempatan
pembolehubah agak kekok: Ia diisytiharkan sebagai parameter tambahan dalam senarai parameter.
Konvensyen ini adalah untuk memisahkan pembolehubah tempatan daripada parameter sebenar dengan ruang tambahan dalam
senarai parameter. Sebagai contoh:

fungsi f(p, q, a, b) # a and b adalah tempatan
{
...
}

/abc/ { ... ; f(1, 2) ; ... }

Tanda kurung kiri dalam panggilan fungsi diperlukan untuk mengikuti fungsi dengan segera
nama, tanpa sebarang ruang kosong yang mengganggu. Ini mengelakkan kekaburan sintaksis dengan
operator penggabungan. Sekatan ini tidak terpakai pada fungsi terbina dalam yang disenaraikan
atas.

Fungsi boleh memanggil satu sama lain dan mungkin rekursif. Parameter fungsi digunakan sebagai tempatan
pembolehubah dimulakan kepada rentetan nol dan nombor sifar apabila fungsi seruan.

Penggunaan pulangan expr untuk mengembalikan nilai daripada fungsi. Nilai pulangan tidak ditentukan jika tidak
nilai disediakan, atau jika fungsi kembali dengan "jatuh" hujungnya.

Sebagai hinggap sambungan, fungsi boleh dipanggil secara tidak langsung. Untuk melakukan ini, tetapkan nama
fungsi yang akan dipanggil, sebagai rentetan, kepada pembolehubah. Kemudian gunakan pembolehubah seolah-olah ia
ialah nama fungsi, diawali dengan an @ tanda, seperti:
fungsi myfunc()
{
cetak "fungsi saya dipanggil"
...
}

{ ...
the_func = "myfunc"
@the_func() # memanggil melalui the_func kepada myfunc
...
}
Mulai versi 4.1.2, ini berfungsi dengan fungsi yang ditentukan pengguna, fungsi terbina dalam dan
fungsi sambungan.

If --lint telah disediakan, hinggap memberi amaran tentang panggilan ke fungsi yang tidak ditentukan pada masa penghuraian,
bukannya pada masa larian. Memanggil fungsi yang tidak ditentukan pada masa jalankan adalah ralat yang membawa maut.

Perkataan itu func boleh digunakan di tempat fungsi, walaupun ini ditamatkan.

SECARA DINAMIK LOADING BAHARU FUNGSI


Anda boleh menambah fungsi terbina dalam baharu secara dinamik pada larian hinggap jurubahasa dengan
@muat kenyataan. Butiran penuh berada di luar skop halaman manual ini; lihat GAWK:
Berkesan AWK Pengaturcaraan.

ISYARAT


. hinggap profiler menerima dua isyarat. SIGUSR1 menyebabkan ia membuang profil dan fungsi
timbunan panggilan ke fail profil, iaitu sama ada awkprof.out, atau apa sahaja fail yang dinamakan
dengan --profil pilihan. Ia kemudiannya terus berjalan. PENDAPATAN sebab-sebab hinggap untuk membuang
timbunan panggilan profil dan fungsi dan kemudian keluar.

PENGANTARABANGSAAN


Pemalar rentetan ialah jujukan aksara yang disertakan dalam petikan berganda. Dalam bahasa bukan Inggeris
persekitaran bercakap, adalah mungkin untuk menandakan rentetan dalam program AWK sebagai memerlukan
terjemahan kepada bahasa asli tempatan. Rentetan sedemikian ditandakan dalam program AWK dengan
garis bawah terkemuka (“_”). Sebagai contoh,

hinggap 'MULAKAN { cetak "hello, dunia " }'

sentiasa mencetak hello, dunia. Tetapi,

hinggap 'MULAKAN { cetak _"hello, dunia " }'

mungkin mencetak bonjour, kurang terang di Perancis.

Terdapat beberapa langkah yang terlibat dalam menghasilkan dan menjalankan program AWK yang boleh disetempatkan.

1. Tambahkan BEGIN tindakan untuk memberikan nilai kepada TEXTDOMAIN pembolehubah untuk menetapkan domain teks
kepada nama yang dikaitkan dengan program anda:

BEGIN { TEXTDOMAIN = "myprog" }

Ini membenarkan hinggap untuk mencari .gmo fail yang dikaitkan dengan program anda. Tanpa ini
langkah, hinggap menggunakan mesej domain teks, yang berkemungkinan tidak mengandungi terjemahan
untuk program anda.

2. Tandakan semua rentetan yang harus diterjemahkan dengan garis bawah terkemuka.

3. Jika perlu, gunakan dcgettext() dan / atau bindtextdomain() fungsi dalam program anda,
mengikut kesesuaian.

4. Run hinggap --gen-periuk -f myprog.awk > myprog.pot untuk menjana a .periuk fail untuk anda
program.

5. Sediakan terjemahan yang sesuai, dan bina serta pasang yang sepadan .gmo fail.

Ciri-ciri pengantarabangsaan diterangkan secara terperinci dalam GAWK: Berkesan AWK
Pengaturcaraan.

POSIX KOMPATIBILITAS


Matlamat utama untuk hinggap adalah keserasian dengan standard POSIX, serta dengan
versi terbaru Brian Kernighan awk. Sampai habis, hinggap menggabungkan perkara berikut
ciri yang boleh dilihat oleh pengguna yang tidak diterangkan dalam buku AWK, tetapi merupakan sebahagian daripada Brian
Versi Kernighan awk, dan berada dalam standard POSIX.

Buku ini menunjukkan bahawa tugasan pembolehubah baris arahan berlaku apabila awk akan sebaliknya
buka hujah sebagai fail, iaitu selepas BEGIN peraturan dilaksanakan. Walau bagaimanapun, dalam
pelaksanaan terdahulu, apabila tugasan sedemikian muncul sebelum sebarang nama fail, fail
tugasan akan berlaku sebelum yang BEGIN peraturan dijalankan. Permohonan datang bergantung kepada
"ciri" ini. Bila awk telah diubah untuk memadankan dokumentasinya, the -v pilihan untuk
menetapkan pembolehubah sebelum pelaksanaan program ditambah untuk menampung aplikasi yang
bergantung pada tingkah laku lama. (Ciri ini telah dipersetujui oleh kedua-dua Bell
Makmal dan pembangun GNU.)

Apabila memproses hujah, hinggap menggunakan pilihan khas “--” untuk menandakan tamatnya
hujah. Dalam mod keserasian, ia memberi amaran tentang tetapi sebaliknya mengabaikan pilihan yang tidak ditentukan.
Dalam operasi biasa, hujah sebegitu diserahkan kepada program AWK untuk diproses.

Buku AWK tidak mentakrifkan nilai pulangan bagi srand (). Piawaian POSIX mempunyainya
kembalikan benih yang digunakannya, untuk membolehkan menjejaki urutan nombor rawak.
Oleh itu srand () in hinggap juga mengembalikan benih semasanya.

Ciri baharu yang lain ialah: Penggunaan berbilang -f pilihan (dari MKS awk); yang ALAM SEKITAR tatasusunan;
yang \a, dan \v urutan melarikan diri (dilakukan pada asalnya dalam hinggap dan disuap semula ke dalam Loceng
versi makmal); yang untuk rendahkan() and topper() fungsi terbina dalam (daripada Bell
versi makmal); dan spesifikasi penukaran ISO C dalam Printf (dilakukan terlebih dahulu dalam
versi Bell Laboratories).

SEJARAH CIRI-CIRI


Terdapat satu ciri pelaksanaan AWK bersejarah itu hinggap menyokong: Ia mungkin
untuk memanggil panjang () fungsi terbina dalam bukan sahaja tanpa hujah, malah tanpa
kurungan! Oleh itu,

a = panjang # suci sesuatu 60, Batman!

adalah sama dengan salah satu daripada

a = panjang ()
a = panjang ($0)

Menggunakan ciri ini adalah amalan yang lemah, dan hinggap mengeluarkan amaran tentang penggunaannya jika --lint is
dinyatakan pada baris arahan.

GNU PERLUASAN


Gawk mempunyai bilangan sambungan yang terlalu besar kepada POSIX awk. Mereka diterangkan dalam ini
bahagian. Semua sambungan yang diterangkan di sini boleh dilumpuhkan dengan menggunakan hinggap dengan
--tradisional or --posix pilihan.

Ciri-ciri berikut bagi hinggap tidak tersedia dalam POSIX awk.

· Tiada carian laluan dilakukan untuk fail yang dinamakan melalui -f pilihan. Oleh itu AWKPATH
pembolehubah persekitaran tidak istimewa.

· Tiada kemudahan untuk melakukan kemasukan fail (hinggap's @termasuk mekanisme).

· Tiada kemudahan untuk menambahkan fungsi baharu secara dinamik yang ditulis dalam C (hinggap's @muat
mekanisme).

· The \x urutan melarikan diri. (Dilumpuhkan dengan --posix.)

· Keupayaan untuk meneruskan baris selepas ? and :. (Dilumpuhkan dengan --posix.)

· Pemalar perlapanan dan perenambelasan dalam program AWK.

· The ARGIND, BINMODE, ERRNO, HUBUNGAN, RT and TEXTDOMAIN pembolehubah tidak istimewa.

· The IGNORECASE berubah-ubah dan kesan sampingannya tidak tersedia.

· The FIELDWIDTHS pemisahan medan berubah-ubah dan lebar tetap.

· The FPAT pembolehubah dan pemisahan medan berdasarkan nilai medan.

· The PROCINFO tatasusunan tidak tersedia.

· Penggunaan RS sebagai ungkapan biasa.

· Nama fail khas yang tersedia untuk ubah hala I/O tidak dikenali.

· The |& operator untuk mencipta proses bersama.

· The MULAKAN FAIL and FAIL TAMAT corak khas tidak tersedia.

· Keupayaan untuk memisahkan aksara individu menggunakan rentetan nol sebagai nilai FS,
dan sebagai hujah ketiga kepada berpecah ().

· Hujah keempat pilihan untuk berpecah () untuk menerima teks pemisah.

· Hujah kedua pilihan kepada tutup () fungsi.

· Hujah ketiga pilihan kepada perlawanan() fungsi.

· Keupayaan untuk menggunakan penentu kedudukan dengan Printf and pecut ().

· Keupayaan untuk menghantar tatasusunan kepada panjang ().

· The dan(), asort(), asorti(), bindtextdomain(), compl(), dcgettext(), dcngettext(),
gensub(), lshift(), mktime (), atau(), patsplit(), rshift(), waktu senggang (), strtonum(),
systime() and xor() fungsi.

· Rentetan yang boleh disetempatkan.

Buku AWK tidak mentakrifkan nilai pulangan tutup () fungsi. Gawk's tutup ()
mengembalikan nilai daripada tutup(3), atau pclose(3), apabila menutup fail output atau paip,
masing-masing. Ia mengembalikan status keluar proses apabila menutup paip input. The
nilai pulangan ialah -1 jika fail yang dinamakan, paip atau proses bersama tidak dibuka dengan a
pengalihan semula.

Bila hinggap adalah dipanggil dengan --tradisional pilihan, jika fs hujah kepada -F pilihan adalah
"t", kemudian FS ditetapkan kepada aksara tab. Perhatikan bahawa menaip hinggap -F\t ... hanya menyebabkan
shell untuk memetik "t," dan tidak menghantar "\t" kepada -F pilihan. Oleh kerana ini adalah a
kes khas yang agak hodoh, ia bukan kelakuan lalai. Tingkah laku ini juga tidak
berlaku sekiranya --posix telah ditentukan. Untuk benar-benar mendapatkan watak tab sebagai medan
pemisah, sebaiknya gunakan petikan tunggal: hinggap -F'\t' ....

PERSEKITARAN PELBAGAI


. AWKPATH pembolehubah persekitaran boleh digunakan untuk menyediakan senarai direktori yang hinggap
carian apabila mencari fail bernama melalui -f, --fail, -i and --termasuk pilihan. Sekiranya
carian awal gagal, laluan dicari semula selepas ditambahkan .awk kepada nama fail.

. AWKLIBPATH pembolehubah persekitaran boleh digunakan untuk menyediakan senarai direktori yang hinggap
carian apabila mencari fail bernama melalui -l and --muat pilihan.

. GAWK_READ_TIMEOUT pembolehubah persekitaran boleh digunakan untuk menentukan tamat masa dalam
milisaat untuk membaca input daripada terminal, paip atau komunikasi dua hala termasuk
soket.

Untuk sambungan ke hos jauh melalui soket, GAWK_SOCK_RETRIES mengawal bilangan
mencuba semula, dan GAWK_MSEC_SLEEP dan selang antara percubaan semula. Selang sudah masuk
milisaat. Pada sistem yang tidak menyokong tidur(3), nilai dibundarkan kepada satu
nombor integral saat.

If POSIXLY_BETUL wujud dalam persekitaran, maka hinggap berkelakuan betul-betul seolah-olah --posix mempunyai
telah ditentukan pada baris arahan. Jika --lint telah ditentukan, hinggap mengeluarkan amaran
mesej untuk kesan ini.

EXIT STATUS


Jika keluar pernyataan digunakan dengan nilai, maka hinggap keluar dengan nilai berangka yang diberikan
kepadanya.

Jika tidak, jika tiada masalah semasa pelaksanaan, hinggap keluar dengan nilai C
berterusan EXIT_SUCCESS. Ini biasanya sifar.

Jika ralat berlaku, hinggap keluar dengan nilai pemalar C EXIT_FAILURE. Ini adalah
selalunya satu.

If hinggap keluar kerana ralat maut, status keluar ialah 2. Pada sistem bukan POSIX, ini
nilai boleh dipetakan kepada EXIT_FAILURE.

VERSION SYARIKAT


Dokumen halaman manusia ini hinggap, versi 4.1.

PENGARANG


Versi asal UNIX awk telah direka dan dilaksanakan oleh Alfred Aho, Peter
Weinberger, dan Brian Kernighan dari Bell Laboratories. Brian Kernighan meneruskan
mengekalkan dan mempertingkatkannya.

Paul Rubin dan Jay Fenlason, dari Yayasan Perisian Percuma, menulis hinggap, supaya serasi
dengan versi asal awk diedarkan dalam Edisi Ketujuh UNIX. John Woods
menyumbang beberapa pembetulan pepijat. David Trueman, dengan sumbangan daripada Arnold Robbins,
dibuat hinggap serasi dengan versi baharu UNIX awk. Arnold Robbins adalah arus
penyelenggara.

Lihat GAWK: Berkesan AWK Pengaturcaraan untuk senarai penuh penyumbang kepada hinggap dan yang
dokumentasi.

Melihat README fail dalam hinggap pengedaran untuk maklumat terkini tentang penyelenggara
dan port mana yang disokong pada masa ini.

pepijat LAPORAN


Jika anda mendapati pepijat masuk hinggap, sila hantar mel elektronik ke [e-mel dilindungi]. Sila
sertakan sistem pengendalian anda dan semakannya, versi hinggap (Daripada hinggap --versi),
pengkompil C yang anda gunakan untuk menyusunnya, dan program ujian serta data yang sekecil
mungkin untuk menghasilkan semula masalah.

Sebelum menghantar laporan pepijat, sila lakukan perkara berikut. Mula-mula, sahkan bahawa anda mempunyai
versi terkini daripada hinggap. Banyak pepijat (biasanya yang halus) diperbaiki pada setiap keluaran,
dan jika anda sudah lapuk, masalahnya mungkin telah diselesaikan. Kedua, sila lihat
jika menetapkan pembolehubah persekitaran LC_ALL kepada LC_ALL=C menyebabkan sesuatu berkelakuan seperti anda
jangkakan. Jika ya, ia adalah isu setempat, dan mungkin atau mungkin bukan pepijat. Akhirnya, tolong
baca halaman manual ini dan manual rujukan dengan teliti untuk memastikan bahawa apa yang anda fikirkan ialah a
pepijat benar-benar, bukannya hanya keanehan dalam bahasa.

Apa sahaja yang anda lakukan, lakukan TIDAK siarkan laporan pepijat dalam comp.lang.awk. Walaupun hinggap pemaju
sekali-sekala baca kumpulan berita ini, menyiarkan laporan pepijat terdapat cara yang tidak boleh dipercayai untuk melaporkan
pepijat. Sebaliknya, sila gunakan alamat mel elektronik yang diberikan di atas. sungguh.

Jika anda menggunakan sistem berasaskan GNU/Linux atau BSD, anda mungkin ingin menyerahkan laporan pepijat kepada
vendor pengedaran anda. Tidak mengapa, tetapi sila hantar salinan kepada pegawai
alamat e-mel juga, kerana tiada jaminan bahawa laporan pepijat akan dimajukan kepada
yang hinggap penyelenggara.

Gunakan gawk dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad