Nama
bahasa gawang - pengimbasan pola dan bahasa pemprosesan
Sinopsis
gawk POSIX atau pilihan gaya GNU -f fail-fail -- fail …gawk POSIX atau pilihan gaya GNU -- teks-program fail … pgawk POSIX atau pilihan gaya GNU -f fail-fail -- fail …pgawk POSIX atau pilihan gaya GNU -- teks-program fail … Gawk adalah pelaksanaan Projek GNU dalam bahasa pemrograman AWK. Ia mematuhi definisi bahasa dalam POSIX 1003.2 Standard Perintah Bahasa dan Utiliti. Versi ini pula adalah berdasarkan perihalan dalam Bahasa Pemrograman AWK , oleh Aho, Kernighan, dan Weinberger, dengan ciri-ciri tambahan yang terdapat dalam versi UNIX Versi V Versi 4 awk . Gawk juga menyediakan Laboratori Bell yang lebih baru awk pelanjutan, dan beberapa pelanjutan khusus GNU. Pgawk ialah versi profil gawk . Ia sama dalam setiap cara gawk , kecuali bahawa program berjalan lebih perlahan, dan secara automatik menghasilkan profil pelaksanaan dalam file tersebut awkprof.out apabila selesai. Lihat --profil pilihan, di bawah. Barisan arahan mengandungi pilihan untuk gawk sendiri, teks program AWK (jika tidak dibekalkan melalui -f atau - fail pilihan), dan nilai yang akan disediakan di dalam ARGC dan ARGV pemboleh ubah AWK yang telah ditentukan sebelumnya. Gawk pilihan mungkin sama ada opsyen POSIX tradisional satu huruf, atau pilihan panjang gaya GNU. Pilihan POSIX bermula dengan `` - '' tunggal, manakala pilihan yang panjang bermula dengan `` - ''. Pilihan panjang disediakan untuk kedua-dua ciri khusus GNU dan untuk ciri-ciri yang diamanahkan POSIX. Berikutan piawaian POSIX, gawk -pilihan khusus dibekalkan melalui hujah kepada -W pilihan. Pelbagai -W pilihan boleh dibekalkan Setiap -W Opsyen mempunyai pilihan yang sama seperti yang dinyatakan di bawah. Argumen kepada pilihan panjang sama ada dengan pilihan oleh = tanda, tanpa sebarang ruang intervensi, atau ia mungkin disediakan dalam argumen baris perintah seterusnya. Pilihan panjang boleh disingkat, selagi singkatan tetap unik. Gawk menerima pilihan berikut, disenaraikan mengikut abjad. -F fs - pemisah lapangan fs Gunakan fs untuk pemisah medan input (nilai FS pembolehubah yang telah ditetapkan). -v var = val - jawatan var = val Berikan nilai val kepada pembolehubah var , sebelum pelaksanaan program bermula. Nilai pemboleh ubah sedemikian boleh didapati untuk BEGIN blok program AWK. -f fail-fail - fail fail-fail Baca sumber program AWK dari fail fail-fail , bukannya dari argumen baris perintah pertama. Pelbagai -f (atau - fail) pilihan boleh digunakan. -mf NNN -Encik NNN Tetapkan pelbagai had ingatan kepada nilai NNN . The f bendera menetapkan bilangan maksimum bidang, dan r bendera menetapkan saiz rekod maksimum. Kedua-dua bendera dan -m pilihan adalah dari versi penyelidikan Laboratorium Bell UNIX awk . Mereka diabaikan oleh gawk , sejak gawk tidak mempunyai had yang telah ditetapkan sebelumnya. -W compat -W tradisional - koma --traditional Jalankan dalam keserasian mod. Dalam mod keserasian, gawk berkelakuan sama dengan UNIX awk ; tiada pelanjutan khusus GNU diiktiraf. Penggunaan --traditional lebih disukai daripada bentuk lain pilihan ini. Lihat GNU EXTENSIONS, di bawah, untuk maklumat lanjut. -W copyleft -W hak cipta - copyleft --hak cipta Cetak versi ringkas mesej maklumat hak cipta GNU pada output standard dan keluar dengan jayanya. -W pembolehubah dump= fail --dump-variable= fail Cetak senarai disenarai pemboleh ubah global, jenis dan nilai akhir kepada fail . Jika tidak fail disediakan, gawk menggunakan fail bernama awkvars.out dalam direktori semasa. Mempunyai senarai semua pembolehubah global adalah cara yang baik untuk mencari kesilapan tipografi dalam program anda. Anda juga akan menggunakan pilihan ini jika anda mempunyai program besar dengan banyak fungsi, dan anda ingin memastikan bahawa fungsi anda tidak sengaja menggunakan pembolehubah global yang anda maksudkan untuk menjadi tempatan. (Ini adalah kesilapan yang mudah dibuat dengan nama pemboleh ubah mudah seperti i, j, dan sebagainya.) -W membantu -W penggunaan - membantu - pemakanan Cetak ringkas ringkasan pilihan yang ada pada output piawai. (Per Standard Pengekodan GNU , pilihan ini menyebabkan keluar segera, berjaya.) -W serat= maut --lint= maut Menyediakan amaran mengenai pembinaan yang diragui atau tidak mudah alih untuk pelaksanaan lainAWK. Dengan hujah pilihan maut, amaran kutu menjadi kesalahan maut. Ini mungkin drastik, tetapi penggunaannya tentu akan menggalakkan pembangunan program AWK bersih. -W lama-lama - lama Memberi amaran mengenai pembinaan yang tidak mudah alih kepada versi asal Unix awk . -W gen-po --gen-po Imbas dan huraikan program AWK, dan buat GNU .po fail format pada output standard dengan penyertaan untuk semua rentetan setempat dalam program. Program itu sendiri tidak dilaksanakan. Lihat GNU gettext pengedaran untuk maklumat lanjut mengenai .po fail. -W data bukan perpuluhan - data -dengan perpuluhan Mengiktiraf nilai-nilai okta dan heksadesimal dalam data input. Gunakan pilihan ini dengan berhati-hati! -W posix - Ini berpaling keserasian mod, dengan sekatan tambahan berikut: * x melarikan diri urutan tidak diiktiraf. * Hanya ruang dan tab bertindak sebagai pemisah bidang apabila FS ditetapkan ke ruang tunggal, garis baru tidak. * Anda tidak boleh meneruskan garisan selepas ? dan :. * Sinonim itu func untuk kata kunci fungsi tidak diiktiraf. * Pengendali ** dan **= tidak boleh digunakan sebagai ganti ^ dan ^=. * The fflush () fungsi tidak tersedia. -W profil= prof_file --profil= prof_file Hantar data profil ke prof_file . Lalai adalah awkprof.out. Apabila berlari dengan gawk , profil itu hanya versi program `` cantik dicetak ''. Apabila berlari dengan pgawk , profil mengandungi count pelaksanaan setiap pernyataan dalam program di margin sebelah kiri dan fungsi panggilan tuduhan untuk setiap fungsi yang ditetapkan pengguna. -W selang semula - selang masa Membolehkan penggunaan ungkapan selang dalam padanan ungkapan biasa (lihat Ekspresi Biasa, di bawah). Ungkapan interval tidak boleh didapati secara tradisional dalam bahasa AWK. Standard POSIX menambah mereka, untuk membuat awk dan egrep konsisten dengan satu sama lain. Walau bagaimanapun, penggunaannya mungkin memecah program AWK lama, jadi gawk hanya memberi mereka jika mereka diminta dengan pilihan ini, atau bila - dinyatakan. -W sumber teks-program --source teks-program Gunakan teks-program sebagai kod sumber program AWK. Opsyen ini membolehkan fungsi perpustakaan yang bersambung dengan mudah (digunakan melalui -f dan - fail pilihan) dengan kod sumber yang dimasukkan pada baris arahan. Ia bertujuan terutamanya untuk program AWK sederhana dan besar yang digunakan dalam skrip shell. -W versi - pengalihan Cetak maklumat versi untuk salinan khusus ini gawk pada output piawai. Ini berguna terutamanya untuk mengetahui jika salinan semasa gawk pada sistem anda adalah up to date berkenaan dengan apa sahaja Yayasan Perisian Bebas mengagihkan. Ini juga berguna ketika melaporkan bug. (Per Standard Pengekodan GNU , pilihan ini menyebabkan keluar segera, berjaya.) -- Isyarat akhir pilihan. Ini berguna untuk membolehkan hujah-hujah lanjut ke program AWK sendiri untuk bermula dengan `` - ''. Ini adalah terutamanya untuk konsistensi dengan konvensyen parsing argumen yang digunakan oleh kebanyakan program POSIX yang lain. Dalam mod keserasian, sebarang pilihan lain ditandakan sebagai tidak sah, tetapi tidak boleh diabaikan. Dalam operasi biasa, selagi teks program telah dibekalkan, pilihan yang tidak diketahui diteruskan ke program AWK di ARGV pelbagai untuk pemprosesan. Ini amat berguna untuk menjalankan program AWK menerusi mekanisme penterjemah `` # '' yang dapat dilaksanakan. PELAJAR PROGRAM AWK Program AWK terdiri daripada urutan pernyataan tindakan corak dan definisi fungsi opsyenal. corak { pernyataan tindakan }fungsi nama ( senarai parameter ) { kenyataan }
Gawk mula membaca sumber program dari fail-fail (s) jika ditentukan, dari hujah ke --source, atau dari hujah bukan pilihan pertama pada baris arahan. The -f dan --source pilihan boleh digunakan beberapa kali pada baris arahan. Gawk membaca teks program seolah-olah semua fail-fail s dan teks sumber baris arahan telah disatukan bersama. Ini berguna untuk membina perpustakaan fungsi AWK, tanpa perlu memasukkannya ke dalam setiap program AWK baru yang menggunakannya. Ia juga menyediakan keupayaan untuk menggabungkan fungsi perpustakaan dengan program arahan. Pembolehubah persekitaran AWKPATH menentukan laluan carian untuk digunakan apabila mencari fail sumber bernama dengan -f pilihan. Jika pembolehubah ini tidak wujud, jalan lalai adalah".: / usr / local / share / awk". (Direktori sebenar mungkin berbeza, bergantung kepada cara gawk telah dibina dan dipasang.) Jika nama fail diberikan kepada -f pilihan mengandungi aksara `` / '', tiada carian jalan dilakukan. Gawk melaksanakan program AWK dalam susunan berikut. Pertama, semua tugasan pembolehubah yang ditentukan melalui -v pilihan dilakukan. Seterusnya, gawk menyusun program ke dalam bentuk dalaman. Kemudian, gawk melaksanakan kod dalam BEGIN blok (jika ada), dan kemudian meneruskan membaca setiap fail yang dinamakan di dalam ARGV pelbagai. Sekiranya tiada fail yang dinamakan di baris arahan, gawk membaca input standard. Jika nama fail pada baris arahan mempunyai borang var = val ia dianggap sebagai tugasan pemboleh ubah. Pembolehubah var akan diberikan nilai val . (Ini berlaku selepas mana-mana BEGIN blok telah dijalankan.) Penyerahan pemboleh ubah baris arahan adalah paling berguna untuk memberikan nilai secara dinamik kepada pemboleh ubah yang menggunakan AWK untuk mengawal bagaimana input dipecahkan ke dalam bidang dan rekod. Ia juga berguna untuk mengawal keadaan jika berbilang pas dalam satu fail data. Jika nilai elemen tertentu ARGV kosong (''), gawk melangkauinya. Untuk setiap rekod dalam input, gawk ujian untuk melihat sama ada ia sepadan dengan mana-mana corak dalam program AWK. Untuk setiap corak rekod yang sepadan, yang berkaitan tindakan dilaksanakan. Corak diuji mengikut urutan yang berlaku dalam program ini. Akhirnya, selepas semua input habis, gawk melaksanakan kod dalam END blok (jika ada). Pemboleh ubah AWK dinamik; mereka wujud apabila mereka mula-mula digunakan. Nilai mereka adalah sama ada nombor terapung atau rentetan, atau kedua-duanya, bergantung kepada bagaimana ia digunakan. AWK juga mempunyai tatasusunan satu dimensi; tatasusunan dengan pelbagai dimensi boleh disimulasikan. Beberapa pembolehubah yang telah ditetapkan ditetapkan sebagai program yang dijalankan; ini akan diterangkan seperti yang diperlukan dan diringkaskan di bawah. Biasanya, rekod dipisahkan oleh aksara baru. Anda boleh mengawal bagaimana 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 watak pertama bagi nilai rentetannya digunakan untuk memisahkan rekod. Jika RS ditetapkan pada rentetan null, maka rekod dipisahkan dengan baris kosong. Bila RS ditetapkan pada rentetan null, watak garis baru selalu berfungsi sebagai pemisah lapangan, sebagai tambahan kepada nilai apa pun FS mungkin mempunyai. Memandangkan setiap rekod input dibaca, gawk memecah rekod ke dalam bidang , dengan menggunakan nilai FS berubah sebagai pemisah lapangan. Jika FS adalah watak tunggal, medan dipisahkan oleh watak itu. Jika FS ialah rentetan null, maka setiap watak individu menjadi medan berasingan. Jika tidak, FS dijangka menjadi ungkapan biasa penuh. Dalam kes khas itu FS adalah ruang tunggal, bidang dipisahkan oleh berjalan ruang dan / atau tab dan / atau baris baru. (Tetapi lihat perbincangan tentang -, di bawah). CATATAN: Nilai IGNORECASE (lihat di bawah) juga memberi kesan kepada bagaimana bidang dipecah apabila FS adalah ungkapan biasa, dan bagaimana rekod dipisahkan apabila RS adalah ungkapan biasa. Sekiranya FIELDWIDTHS pembolehubah ditetapkan kepada senarai ruang yang dipisahkan ruang, setiap bidang dijangka mempunyai lebar tetap, dan gawk memecah rekod menggunakan lebar yang ditentukan. Nilai FS diabaikan. Menetapkan nilai baru kepada FS mengatasi penggunaan FIELDWIDTHS, dan mengembalikan kelakuan lalai. Setiap medan dalam rekod input mungkin dirujuk oleh kedudukannya, $1, $2, dan sebagainya. $0 adalah rekod keseluruhan. Bidang tidak perlu dirujuk oleh pemalar: n = 5cetak $ n mencetak medan kelima dalam rekod input. Pembolehubah NF ditetapkan kepada jumlah medan dalam rekod masukan. Rujukan kepada medan tidak wujud (iaitu medan selepas $ NF) menghasilkan rentetan null. Bagaimanapun, menyerahkan kepada medan yang tidak wujud (contohnya, $ (NF + 2) = 5) meningkatkan nilai NF, mewujudkan mana-mana medan interval dengan rentetan null sebagai nilai mereka, dan menyebabkan nilai $0 untuk dikira semula, dengan medan dipisahkan oleh nilai OFS. Rujukan kepada medan bernombor negatif menyebabkan ralat yang membawa maut. Penurunan NF menyebabkan nilai medan melebihi nilai baru yang hilang, dan nilai $0 untuk dikira semula, dengan medan dipisahkan oleh nilai OFS. Menetapkan nilai ke medan sedia ada menyebabkan keseluruhan rekod dibina semula ketika $0 dirujuk. Begitu juga, memberikan nilai kepada $0 menyebabkan rekod menjadi resit, mewujudkan nilai baru untuk bidang. Gawk pembolehubah terbina dalam adalah: ARGC Bilangan hujah arahan baris (tidak termasuk pilihan untuk gawk , atau sumber program). ARGIND Indeks di Malaysia ARGV fail semasa sedang diproses. ARGV Arahan hujah baris perintah. Arahan diindeks dari 0 ke ARGC - 1. Mengubah kandungan secara dinamik ARGV boleh mengawal fail yang digunakan untuk data. BINMODE Pada sistem bukan POSIX, gunakan mod `` binari 'untuk semua fail I / O. Nilai angka 1, 2, atau 3, menyatakan bahawa fail input, fail output, atau semua fail, masing-masing, harus menggunakan I / O binari. Nilai rentetan "r", atau "w" nyatakan bahawa fail input, atau fail output, masing-masing, harus menggunakan I / O binari. Nilai rentetan "rw" atau "wr" nyatakan bahawa semua fail harus menggunakan I / O binari. Mana-mana nilai rentetan lain dianggap sebagai "rw", tetapi menjana mesej amaran. CONVFMT Format penukaran untuk nombor, "% .6g", secara lalai. ENVIRON Pelbagai yang mengandungi nilai persekitaran semasa. Arahan diindeks oleh pembolehubah persekitaran, setiap elemen menjadi nilai pemboleh ubah tersebut (contohnya,ENVIRON "HOME" mungkin / home / arnold). Mengubah array ini tidak menjejaskan persekitaran yang dilihat oleh program yang gawk memasak melalui pengalihan semula atau sistem ()fungsi. ERRNO Jika ralat sistem berlaku sama ada melakukan pengalihan semula getline, semasa membaca getline, atau semasa a tutup (), kemudian ERRNO akan mengandungi tali yang menerangkan ralat. Nilai adalah tertakluk kepada terjemahan dalam bahasa bukan bahasa Inggeris. FIELDWIDTHS Senarai ruang lapang putih dipisahkan. Apabila ditetapkan, gawk memecahkan masukan ke dalam bidang lebar tetap, bukannya menggunakan nilai FS berubah sebagai pemisah lapangan. NAMA FAIL Nama fail input semasa.Jika tiada fail ditentukan pada baris arahan, nilai NAMA FAIL adalah `` - ''. Walau bagaimanapun, NAMA FAIL tidak jelas di dalam BEGIN blok (kecuali ditetapkan oleh getline). FNR Nombor rekod masukan dalam fail input semasa. FS Pemisah medan input, ruang secara lalai. Lihat Medan, di atas. IGNORECASE Mengawal sensitiviti kes semua ekspresi biasa dan operasi rentetan. Jika IGNORECASE mempunyai nilai bukan sifar, maka perbandingan rentetan dan padanan corak dalam peraturan, pemisahan medan dengan FS, rekod berpisah dengan RS, padanan ungkapan biasa dengan ~dan !~, dan juga gensub (), gsub (), indeks (), perlawanan (), berpecah (), dan sub () fungsi terbina dalam semua mengabaikan kes apabila melakukan operasi ekspresi biasa. CATATAN: Penjejakan Array adalah tidak terjejas, tidak juga asort () fungsi. Oleh itu, jika IGNORECASE tidak sama dengan sifar, / aB / sepadan dengan semua rentetan "ab", "aB","Ab", dan "AB". Seperti semua pemboleh ubah AWK, nilai awal IGNORECASE adalah sifar, jadi semua ekspresi biasa dan operasi rentetan biasanya kes sensitif. Di bawah Unix, set aksara aksara ISO 8859-1 yang penuh digunakan apabila mengabaikan kes. LINT Menyediakan kawalan dinamik --lint pilihan dari dalam program AWK. Apabila benar, gawk mencetak amaran. Apabila palsu, tidak. Apabila diberi nilai rentetan "maut", amaran kutu menjadi kesalahan maut, betul-betul seperti --lint = maut. Sebarang nilai sebenar yang lain hanya mencetak amaran. NF Bilangan medan dalam rekod input semasa. NR Jumlah bilangan rekod masukan yang dilihat setakat ini. OFMT Format keluaran untuk nombor, "% .6g", secara lalai. OFS Pemisah medan output, ruang secara lalai. ORS Pemisah rekod keluaran, secara lalai garis baru. PROCINFO Unsur-unsur dari rangkaian ini memberikan akses kepada maklumat mengenai program AWK yang sedang berjalan. Pada sesetengah sistem, mungkin ada elemen dalam tatasusunan, "group1" melalui "kumpulan n ' untuk beberapa n , iaitu bilangan kumpulan tambahan yang mempunyai proses tersebut. Menggunakan dalam pengendali untuk menguji unsur-unsur ini. Unsur berikut dijamin boleh didapati: PROCINFO "egid" nilai getegid (2) panggilan sistem. PROCINFO "euid" nilai geteuid (2) panggilan sistem. PROCINFO "FS" "FS" jika bidang berpecah dengan FS sedang berlaku, atau "FIELDWIDTHS" jika bidang berpecah dengan FIELDWIDTHS berkuatkuasa. PROCINFO "gid" nilai getgid (2) panggilan sistem. PROCINFO "pgrpid" ID proses proses proses semasa. PROCINFO "pid" ID proses proses semasa. PROCINFO "ppid" ID proses induk proses semasa. PROCINFO "uid" nilai getuid (2) panggilan sistem. RS Pemisah rekod input, secara lalai garis baru. RT Penafsiran rekod. Gawk set RT ke teks input yang sepadan dengan aksara atau ungkapan biasa yang ditentukan oleh RS. RSTART Indeks watak pertama yang dipadankan oleh perlawanan (); 0 jika tiada perlawanan. (Ini menunjukkan bahawa indeks karakter bermula pada satu.) RLENGTH Panjang rentetan yang dipadankan oleh perlawanan (); -1 jika tiada perlawanan. SUBSEP Watak yang digunakan untuk memisahkan pelbagai subskrip dalam unsur array, secara lalai ' 034'. TEXTDOMAIN Domain teks program AWK; digunakan untuk mencari terjemahan setempat untuk rentetan program. Array ditegak dengan ungkapan antara tanda kurung segi empat ( dan ). Sekiranya ungkapan itu merupakan senarai ungkapan ( expr , expr …) maka subskrip susunan adalah rentetan yang terdiri daripada penggabungan nilai (string) setiap ungkapan, dipisahkan oleh nilai SUBSEP pembolehubah. Kemudahan ini digunakan untuk mensimulasikan pelbagai dimensi dimensi. Sebagai contoh: i = "A"; j = "B"; k = "C"x i, j, k = "halo, dunia n" menyerahkan rentetan "halo, dunia n" kepada unsur array x yang diindeks oleh tali"A 034B 034C". Semua baris dalam AWK bersekutu, iaitu diindeks oleh nilai rentetan. Pengendali khas dalam boleh digunakan dalam jika atau sementara pernyataan untuk melihat sama ada array mempunyai indeks yang terdiri daripada nilai tertentu. jika (array dalam array) cetak array val Sekiranya array mempunyai banyak subskrip, gunakan (i, j) dalam array. The dalam membina juga boleh digunakan dalam a untuk gelung untuk mengulangi semua unsur array. Elemen boleh dipadam dari pelbagai menggunakan padam pernyataan. The padam Pernyataan juga boleh digunakan untuk memadam keseluruhan kandungan array, hanya dengan menentukan nama array tanpa subskrip. Pembolehubah dan medan mungkin (nombor terapung) nombor, atau rentetan, atau kedua-duanya. Bagaimana nilai pemboleh ubah ditafsirkan bergantung kepada konteksnya. Jika digunakan dalam ungkapan berangka, ia akan dianggap sebagai nombor, jika digunakan sebagai rentetan ia akan dianggap sebagai rentetan. Untuk memaksa pemboleh ubah untuk diperlakukan sebagai nombor, tambah 0 kepadanya; untuk memaksa ia dianggap sebagai rentetan, mengikatnya dengan rentetan null. Apabila rentetan mesti ditukar kepada nombor, penukaran dicapai dengan menggunakan strtod (3). Nombor ditukar kepada rentetan dengan menggunakan nilai CONVFMT sebagai rentetan format untuk sprintf (3), dengan nilai angka pembolehubah sebagai hujah. Walau bagaimanapun, walaupun semua nombor dalam AWK adalah titik terapung, nilai-nilai integral adalah sentiasa ditukar sebagai bilangan bulat. Oleh itu, diberikan CONVFMT = "% 2.2f" a = 12 b = a "" pembolehubah b mempunyai nilai rentetan '12' dan tidak '12.00'. Gawk melakukan perbandingan seperti berikut: Jika dua pembolehubah adalah angka, mereka dibandingkan secara numerik. Jika satu nilai adalah angka dan yang lain mempunyai nilai rentetan yang merupakan `` rentetan angka, '' maka perbandingan juga dilakukan secara berangka. Jika tidak, nilai angka ditukar kepada rentetan dan perbandingan rentetan dilakukan. Kedua-dua rentetan itu, tentu saja, sebagai rentetan. Perhatikan bahawa piawaian POSIX menggunakan konsep `` string numerik '' di mana-mana, walaupun pada pemalar rentetan. Walau bagaimanapun, ini jelas tidak betul, dan gawk tidak melakukan ini. (Untungnya, ini ditetapkan dalam versi standard seterusnya.) Perhatikan bahawa pemalar rentetan, seperti '57', adalah tidak rentetan angka, ia adalah pemalar rentetan. Idea `` string numerik '' hanya berlaku untuk bidang, getline input, NAMA FAIL, ARGV unsur-unsur, ENVIRON unsur-unsur dan unsur-unsur pelbagai yang dicipta oleh berpecah () iaitu rentetan angka. Idea asas ialah input pengguna , dan hanya input pengguna, yang kelihatan berangka, harus diperlakukan seperti itu. Pembolehubah yang tidak dikenali mempunyai nilai angka 0 dan nilai rentetan "" (batal, atau kosong, rentetan). Bermula dengan versi 3.1 hinggap, anda boleh menggunakan pemalar segi tiga dan heksadesimal C gaya dalam kod sumber program AWK anda. Contohnya, nilai oktaf 011 sama dengan perpuluhan 9, dan nilai heksadesimal 0x11 sama dengan perpuluhan 17. Peralihan rentetan dalam AWK adalah urutan aksara yang disertakan antara petikan berganda ('). Dalam rentetan, tertentu melarikan diri dari urutan diiktiraf, seperti dalam C. Ini adalah: \ Backslash literal. a Watak `` amaran ''; biasanya watak BEL ASCII. b backspace. f borang suapan. n baris baru. r pulangan kereta. t tab mendatar. v tab menegak. x hex digit Watak yang diwakili oleh rentetan angka heksadesimal berikut x. Seperti dalam ANSIC, semua digit heksadesimal berikut dianggap sebahagian daripada urutan melarikan diri. (Ciri ini harus memberitahu kami tentang reka bentuk bahasa oleh jawatankuasa.) Contohnya, " x1B" adalah watak ASCIIESC (melarikan diri). ddd Watak yang diwakili oleh urutan nombor 1-, 2, atau 3 digit digit oktaf. Contohnya, ' 033' adalah ASCII ESC (melarikan diri) watak. c Watak literal c . Urutan melarikan diri juga boleh digunakan di dalam ungkapan biasa yang tetap (mis.,/ t f n r v / memadankan aksara ruang kosong). Dalam mod keserasian, watak-watak yang diwakili oleh urutan larian okta dan heksadesimal dilayan secara literal apabila digunakan dalam pemalar ekspresi biasa. Oleh itu, / a 52b / bersamaan dengan/ a * b /. AWK adalah bahasa berorientasikan talian. Corak yang datang pertama, dan kemudian tindakan. Kenyataan tindakan disertakan di dalam { dan }. Sama ada pola itu mungkin hilang, atau tindakan itu mungkin hilang, tetapi, tentu saja, tidak keduanya. Jika coraknya hilang, tindakan itu dilaksanakan untuk setiap rekod input. Tindakan yang hilang adalah bersamaan dengan {print} yang mencetak keseluruhan rekod. Komen bermula dengan watak `` # '', dan berterusan sehingga akhir baris. Barisan kosong boleh digunakan untuk memisahkan kenyataan. Biasanya, satu kenyataan berakhir dengan garis baru, bagaimanapun, ini tidak berlaku untuk garisan yang berakhir dalam ``, '', {, ?, :, &&, atau ||. Talian berakhir lakukan atau lain juga mempunyai kenyataan mereka secara automatik diteruskan pada baris berikut. Dalam kes lain, garisan boleh diteruskan dengan menamatkannya dengan ', di mana garis baharu akan diabaikan. Kenyataan berbilang boleh diletakkan pada satu baris dengan memisahkannya dengan ``; ''. Ini terpakai kepada kedua-dua pernyataan di dalam bahagian tindakan pasangan corak tindakan (kes biasa), dan kepada pernyataan tindakan pola itu sendiri. Corak AWK mungkin salah satu daripada yang berikut: BEGIN END / ekspresi biasa / ungkapan relasi corak && corak corak || corak corak ? corak : corak ( corak ) ! corak pattern1 , pattern2 BEGIN dan END adalah dua jenis corak khas yang tidak diuji terhadap input. Bahagian tindakan semua BEGIN corak disatukan seolah-olah semua kenyataan telah ditulis dalam satu persatu BEGIN blok. Mereka dilaksanakan sebelum mana-mana input dibaca. Begitu juga, semua END blok disatukan, dan dilaksanakan apabila semua input telah habis (atau apabila keluar pernyataan dilaksanakan). BEGIN dan END corak tidak boleh digabungkan dengan corak lain dalam ungkapan corak. BEGIN dan END corak tidak boleh mempunyai bahagian aksi yang hilang. Untuk / ekspresi biasa / corak, pernyataan yang berkaitan dilaksanakan untuk setiap rekod masukan yang sepadan dengan ungkapan biasa. Ungkapan yang kerap adalah sama seperti yang di egrep (1), dan diringkaskan di bawah. A ungkapan relasi boleh menggunakan mana-mana pengendali yang ditakrifkan di bawah dalam bahagian tindakan. Ini biasanya menguji sama ada bidang tertentu sepadan dengan ungkapan biasa tertentu. The &&, ||, dan ! pengendali adalah logik DAN, logik A, dan tidak logik, masing-masing, seperti dalam C. Mereka membuat penilaian litar pintas, juga seperti dalam C, dan digunakan untuk menggabungkan ungkapan corak yang lebih primitif. Seperti kebanyakan bahasa, kurungan boleh digunakan untuk mengubah susunan penilaian. The ?: pengendali adalah seperti pengendali yang sama dalam C. Jika corak pertama adalah benar maka corak yang digunakan untuk ujian adalah corak kedua, jika tidak ia adalah yang ketiga. Hanya satu daripada pola kedua dan ketiga yang dinilai. The pattern1 , pattern2 bentuk ungkapan disebut a corak pelbagai . Ia sepadan dengan semua rekod input bermula dengan rekod yang sepadan pattern1 , dan berterusan sehingga rekod yang sepadan pattern2 , termasuk. Ia tidak menggabungkan dengan apa-apa ungkapan ungkapan yang lain. Ungkapan yang kerap adalah jenis yang diperpanjang dalam egrep . Mereka terdiri daripada watak-watak seperti berikut: c sepadan dengan non-metacharacter c . c sepadan dengan watak literal c . . perlawanan mana-mana watak termasuk baris baru. ^ sepadan dengan permulaan rentetan. $ Perlawanan akhir rentetan. abc … senarai watak, sepadan dengan mana-mana aksara abc … . ^ abc … senarai watak yang ditolak, sepadan dengan mana-mana watak kecuali abc … . r1 | r2 alternation: matches either r1 atau r2 . r1r2 concatenation: matches r1 , dan kemudian r2 . r + perlawanan satu atau lebih r 's. r * perlawanan sifar atau lebih r 's. r ? perlawanan sifar atau satu r 's. ( r ) pengelompokan: perlawanan r . r { n } r { n ,} r { n , m } Satu atau dua nombor di dalam pendakap menunjukkan satu ungkapan selang . Sekiranya terdapat satu nombor dalam pendakap, ungkapan biasa terdahulu r diulang n kali. Sekiranya terdapat dua nombor yang dipisahkan oleh koma, r diulang n kepada m kali. Sekiranya terdapat satu nombor diikuti dengan koma, maka r diulang sekurang-kurangnya n kali. Ungkapan interval hanya tersedia jika sama ada - atau - selang masa dinyatakan pada baris arahan. y memadankan tali kosong sama ada pada permulaan atau akhir perkataan. B sepadan dengan tali kosong dalam satu perkataan. < sepadan dengan tali kosong pada permulaan perkataan. > sepadan dengan tali kosong pada akhir perkataan. w memadankan mana-mana watak-watak perkataan (huruf, digit, atau garis bawah). W memadankan mana-mana watak yang bukan perkataan-konstituen. ` padanan rentetan kosong pada permulaan penimbal (rentetan). ' sepadan dengan tali kosong pada akhir penampan. Urutan pelarian yang sah dalam pemalar rentetan (lihat di bawah) juga sah dalam ungkapan biasa. Kelas watak adalah ciri baru yang diperkenalkan dalam piawaian POSIX. Kelas watak adalah notasi khusus untuk menggambarkan senarai watak-watak yang mempunyai atribut khusus, tetapi di mana watak-watak sebenar sendiri boleh berbeza dari negara ke negara dan / atau dari watak yang ditetapkan ke set aksara. Contohnya, tanggapan mengenai watak abjad berbeza di Amerika Syarikat dan di Perancis. Kelas watak hanya sah dalam ungkapan biasa dalam kurungan senarai watak. Kelas watak terdiri daripada :, kata kunci menandakan kelas, dan :. Kelas watak yang ditakrifkan oleh piawai POSIX ialah: : alnum: Aksara abjad angka. : alpha: Aksara abjad. : blank: Aksara ruang atau tab. : cntrl: Mengawal aksara. : digit: Aksara angka. : graf: Watak-watak yang boleh dicetak dan boleh dilihat. (Ruang boleh dicetak, tetapi tidak dapat dilihat, sementara satu a adalah kedua-duanya.) : lebih rendah: Aksara abjad huruf kecil. : cetak: Watak cetak (aksara yang tidak mengawal watak.) : punct: Watak tanda baca (aksara yang bukan huruf, digit, aksara kawalan, atau aksara ruang). : ruang: Watak-watak ruang (seperti ruang, tab, dan formfeed, untuk menamakan beberapa). : atas: Huruf abjad huruf besar. : xdigit: Watak yang angka heksadesimal. Sebagai contoh, sebelum piawai POSIX, untuk menyesuaikan aksara abjad angka, anda sepatutnya menulis / A-Za-z0-9 /. Jika watak watak anda mempunyai aksara abjad yang lain di dalamnya, ini tidak sepadan dengannya, dan jika watak anda disusun secara berbeza daripada ASCII, ini mungkin tidak sepadan dengan aksara abjad angka ASCII. Dengan kelas aksara POSIX, anda boleh menulis/ : alnum: /, dan ini sepadan dengan aksara abjad dan angka dalam set aksara anda. Dua urutan khas tambahan boleh muncul dalam senarai watak. Ini digunakan untuk set aksara bukan ASCII, yang boleh mempunyai simbol tunggal (dipanggil menyusun elemen ) yang diwakili dengan lebih daripada satu aksara, dan juga beberapa aksara yang bersamaan mengumpul , atau penyortiran, tujuan. (Contohnya, dalam bahasa Perancis, `` e '' yang jelas dan 'e-accented' yang sama.) Simbol menggali Simbol penyambungan adalah unsur penyusun pelbagai aksara yang disertakan dalam . dan .. Sebagai contoh, jika ch adalah unsur gabungan, maka .ch. adalah ungkapan biasa yang sepadan dengan elemen gabungan ini, sementara ch adalah ungkapan biasa yang sepadan dengan sama ada c atau h. Kelas Kesetaraan Kelas kesetaraan adalah nama spesifik setempat untuk senarai watak yang bersamaan. Nama ini disertakan dalam = dan =. Sebagai contoh, nama e mungkin digunakan untuk mewakili semua `` e, '' `'e', '' dan` `e`. '' Dalam kes ini, = e = adalah ungkapan biasa yang sepadan dengan mana-mana e, e ', atau e`. Ciri-ciri ini sangat berharga di kawasan berbahasa bukan bahasa Inggeris. Fungsi perpustakaan itu gawk kegunaan untuk padanan ungkapan biasa pada masa ini hanya mengenali kelas karakter POSIX; mereka tidak mengenali simbol penyambungan atau kelas kesetaraan. The y, B, <, >, w, W, `, dan ' pengendali adalah khusus untuk gawk ; mereka adalah sambungan berdasarkan kemudahan dalam perpustakaan ungkapan biasa GNU. Pelbagai pilihan baris arahan mengawal bagaimana gawk menafsirkan aksara dalam ungkapan biasa. Tiada pilihan Dalam kes lalai, gawk menyediakan semua kemudahan POSIX ekspresi biasa dan operator ekspresi GNU biasa yang dinyatakan di atas. Walau bagaimanapun, ungkapan selang tidak disokong. - Hanya POSIX ungkapan biasa yang disokong, pengendali GNU tidak istimewa. (Contohnya, w sepadan dengan literal w). Ungkapan interval dibenarkan. --traditional Unix Tradisional awk ungkapan biasa dipadankan. Pengendali GNU tidak khas, ekspresi selang tidak tersedia, dan tidak ada kelas karakter POSIX (: alnum: dan sebagainya). Watak-watak yang diterangkan oleh urutan melarikan diri oktaf dan heksadesimal dilayan secara harfiah, walaupun mereka mewakili metacharacters ungkapan biasa. - selang masa Benarkan ekspresi selang dalam ungkapan biasa, walaupun --traditional telah disediakan. Kenyataan tindakan disertakan dalam penyokong, { dan }. Kenyataan tindakan terdiri daripada penyataan biasa, bersyarat, dan perulangan perulangan yang terdapat dalam kebanyakan bahasa. Pengendali, pernyataan kawalan, dan pernyataan input / output yang tersedia dipalsukan selepas mereka di C. Pengendali di AWK, dalam rangka penurunan prioritas, adalah (…) Pengumpulan $ Rujukan lapangan. ++ -- Peningkatan dan pengurangan, kedua-dua awalan dan postfix. ^ Eksponensi (** juga boleh digunakan, dan **= untuk pengendali tugasan). + - ! Unary plus, unary minus, dan penolakan logik. * / % Pendaraban, pembahagian, dan modulus. + - Penambahan dan penolakan. ruang Penyambungan tali. < > <= >= != == Pengendali relasi biasa. ~ !~ Perlawanan ungkapan biasa, perlawanan ditolak. CATATAN: Jangan gunakan ungkapan biasa yang berterusan (/ foo /) di sebelah kiri a ~ atau !~. Hanya gunakan satu di sebelah kanan. Ekspresi / foo / ~ exp mempunyai erti yang sama seperti (($ 0 ~ / foo /) ~ exp ). Ini biasanya tidak apa yang dimaksudkan. dalam Keahlian Array. && Logik DAN. || Logik ATAU. ?: Ungkapan bersyarat C. Ini mempunyai bentuk expr1 ? expr2 : expr3 . Jika expr1 benar, nilai ungkapan itu expr2 , jika tidak, itu expr3 . Hanya salah satu expr2 dan expr3 dinilai. = += -= *= /= %= ^= Penyerahan. Kedua-dua tugasan mutlak ( var = nilai ) dan tugasan pengendali (bentuk lain) disokong. Kenyataan kawalan adalah seperti berikut: jika ( keadaan ) pernyataan lain pernyataan sementara ( keadaan ) pernyataan lakukan pernyataan sementara ( keadaan ) untuk ( expr1 ; expr2 ; expr3 ) pernyataan untuk ( var dalam pelbagai ) pernyataan pecah teruskan padam pelbagai indeks padam pelbagai keluar ungkapan { kenyataan } Kenyataan input / output adalah seperti berikut: dekat ( fail , bagaimana ) Tutup fail, paip atau proses bersama. Pilihannya bagaimana hanya boleh digunakan apabila menutup satu hujung paip dua hala ke proses bersama. Ia mesti menjadi nilai rentetan, sama ada "kepada" atau "dari". getline Tetapkan $0 dari rekod masukan seterusnya; ditetapkan NF, NR, FNR. getline < fail Tetapkan $0 dari rekod seterusnya fail ; ditetapkan NF. getline var Tetapkan var dari rekod masukan seterusnya; ditetapkan NR, FNR. getline var < fail Tetapkan var dari rekod seterusnya fail . perintah | getline var Jalankan perintah memotong output sama ada ke $0 atau var , seperti di atas. perintah | & getline var Jalankan perintah sebagai proses bersama memproses output sama ada ke dalam $0 atau var , seperti di atas. Proses bersama adalah a gawk sambungan. seterusnya Berhenti memproses rekod masukan semasa. Rekod masukan seterusnya dibaca dan diproses bermula dengan pola pertama dalam program AWK. Sekiranya akhir data input dicapai, END blok, jika ada, dilaksanakan. nextfile Berhenti memproses fail input semasa. Catatan input seterusnya akan datang dari fail input seterusnya. NAMA FAIL dan ARGIND dikemas kini, FNR ditetapkan semula kepada 1, dan pemprosesan bermula dengan pola pertama dalam program AWK. Sekiranya akhir data input dicapai, END blok, jika ada, dilaksanakan. cetak Mencetak rekod semasa. Rekod output ditamatkan dengan nilai ORS pembolehubah. cetak expr-senarai Ungkapan cetakan. Setiap ungkapan dipisahkan oleh nilai OFS pembolehubah. Rekod output ditamatkan dengan nilai ORS pembolehubah. cetak expr-senarai > fail Ekspresi cetakan pada fail . Setiap ungkapan dipisahkan oleh nilai OFS pembolehubah. Rekod output ditamatkan dengan nilai ORS pembolehubah. printf fmt, expr-list Format dan cetak. printf fmt, expr-list > fail Format dan cetak fail . sistem ( barisan cmd ) Jalankan arahan barisan cmd , dan mengembalikan status keluar. (Ini mungkin tidak terdapat pada sistem bukan POSIX.) fflush ( fail ) Siram mana-mana buffer yang berkaitan dengan fail output atau paip terbuka fail . Jika fail hilang, kemudian keluaran standard dimusnahkan. Jika fail adalah rentetan nada, maka semua fail output terbuka dan paip mempunyai buffer mereka memerah. Peralihan output tambahan dibenarkan cetak dan printf. cetak … >> fail menambah output kepada fail . cetak … | perintah menulis pada paip. cetak … | & perintah menghantar data kepada proses bersama. The getline mengembalikan arahan 0 pada akhir fail dan -1 pada ralat. Setelah kesilapan, ERRNO mengandungi rentetan yang menerangkan masalah. CATATAN: Jika menggunakan paip atau proses bersama untuk getline, atau dari cetak atau printf dalam gelung, anda mestilah gunakan tutup () untuk mewujudkan contoh baru arahan itu. AWK tidak menutup secara automatik paip atau proses bersama apabila mereka kembali EOF. Versi AWK dari printf pernyataan dan sprintf () fungsi (lihat di bawah) menerima format spesifikasi penukaran berikut: % c Sifat ASCII. Jika hujah digunakan untuk % c adalah angka, ia dianggap sebagai watak dan dicetak. Jika tidak, hujah dianggap rentetan, dan satu-satunya aksara pertama yang dicetak. % d, % i Nombor perpuluhan (bahagian integer). % e,% E Nombor terapung borang - d.dddddde + - dd. The % E penggunaan format E bukannya e. % f Nombor terapung borang - ddd.dddddd. % g,% G Gunakan % e atau % f penukaran, yang mana lebih pendek, dengan nol yang tidak penting ditindas. The% G penggunaan format % E bukannya % e. % o Nombor oktal yang tidak ditandatangani (juga integer). % u Nombor perpuluhan yang tidak ditandatangani (sekali lagi, integer). % s Rentetan aksara. % x,% X Nombor heksadesek tidak ditandatangani (integer). The % X penggunaan format A B C D E F bukannyaa B C D E F. %% Satu sahaja % watak; tiada hujah ditukarkan. Pilihan, parameter tambahan boleh terletak di antara % dan surat kawalan: kiraan $ Menggunakan kiraan 'hujah pada titik ini dalam pemformatan. Ini dipanggil a penentu posisional dan dimaksudkan terutamanya untuk digunakan dalam versi terjemah string format, bukan dalam teks asli program AWK. Ia adalah gawk sambungan. - Ekspresi harus dibiarkan di dalam bidangnya. ruang Untuk penukaran angka, awalan nilai positif dengan ruang, dan nilai negatif dengan tanda tolak. + Tanda tambah, yang digunakan sebelum pengubah lebar (lihat di bawah), menyatakan selalu membekalkan tanda untuk penukaran angka, walaupun data yang diformat adalah positif. The + mengatasi pengubah ruang. # Gunakan borang `` ganti '' untuk surat kawalan tertentu. Untuk % o, membekalkan sifar utama. Untuk % x, dan % X, membekalkan yang terkemuka 0x atau 0X untuk keputusan nonzero. Untuk % e, % E, dan % f, hasilnya sentiasa mengandungi titik perpuluhan. Untuk % g, dan % G, trailing sifar tidak dikeluarkan daripada hasilnya. 0 A terkemuka 0 (sifar) bertindak sebagai bendera, yang menandakan output harus empuk dengan sifar bukannya ruang. Ini terpakai walaupun kepada format output bukan angka. Bendera ini hanya mempunyai kesan apabila lebar medan lebih luas daripada nilai yang akan dicetak. lebar Medan harus dipenuhi dengan lebar ini. Bidang ini biasanya dipenuhi dengan ruang. Sekiranya 0bendera telah digunakan, ia empuk dengan sifar. . prec Nombor yang menentukan ketepatan untuk digunakan semasa mencetak. Untuk % e, % E, dan % fformat, ini menentukan bilangan digit yang anda mahu dicetak di sebelah kanan titik perpuluhan. Untuk % g, dan % G format, ia menentukan bilangan maksimum digit penting. Untuk % d, % o, % i, % u, % x, dan % X format, ia menentukan nombor minimum digit untuk dicetak. Untuk % s, ia menentukan bilangan maksimum aksara dari rentetan yang perlu dicetak. Dinamik lebar dan prec keupayaan ANSI C printf () rutin disokong. A * di tempat sama ada lebar atau prec spesifikasi menyebabkan nilai mereka diambil dari senarai hujah printf atau sprintf (). Untuk menggunakan spekulator posisional dengan lebar atau ketepatan yang dinamik, berikan kiraan $ selepas * dalam rentetan format. Sebagai contoh, "% 3 $ * 2 $. * 1 $ s". Apabila melakukan pengalihan I / O dari sama ada cetak atau printf ke dalam fail, atau melalui getline dari satu fail, gawk mengiktiraf nama fail khas tertentu secara dalaman. Nama fail ini membolehkan akses untuk membuka deskriptor fail yang diwarisi dari gawk Proses induk (biasanya shell). Nama fail ini juga boleh digunakan pada baris arahan untuk menamakan fail data. Nama fail adalah: / dev / stdin Input standard. / dev / stdout Output standard. / dev / stderr Keluaran ralat piawai. / dev / fd / n Fail yang berkaitan dengan deskriptor fail terbuka n . Ini amat berguna untuk mesej ralat. Sebagai contoh: cetak "Anda meniupnya!" > "/ dev / stderr" sedangkan anda sebaliknya harus menggunakannya cetak "Anda meniupnya!" | "kucing 1> & 2" Nama fail khas berikut boleh digunakan dengan |& pengendali bersama proses untuk mewujudkan sambungan rangkaian TCP / IP. / inet / tcp / lport / rhost / rport Fail untuk sambungan TCP / IP pada port tempatan lport kepada tuan rumah jauh rhost pada port jauh rport . Gunakan pelabuhan 0 untuk mempunyai sistem memilih pelabuhan. / inet / udp / lport / rhost / rport Sama, tetapi gunakan UDP / IP bukan TCP / IP. / inet / raw / lport / rhost / rport Dikhaskan untuk kegunaan masa depan. Nama fail khas lain memberikan akses kepada maklumat tentang berjalannya gawk proses. Nama fail ini kini sudah usang. Menggunakan PROCINFO array untuk mendapatkan maklumat yang mereka berikan. Nama fail adalah: / dev / pid Membaca fail ini mengembalikan ID proses proses semasa, dalam perpuluhan, ditamatkan dengan garis baharu. / dev / ppid Membaca fail ini mengembalikan ID proses induk proses semasa, dalam perpuluhan, ditamatkan dengan garis baharu. / dev / pgrpid Membaca fail ini mengembalikan ID kumpulan proses proses semasa, dalam perpuluhan, diakhiri dengan baris baru. / dev / pengguna Membaca fail ini mengembalikan rekod tunggal yang ditamatkan dengan garis baharu. Medan dipisahkan dengan ruang. $1 adalah nilai dari getuid (2) panggilan sistem, $2 adalah nilai dari geteuid (2) panggilan sistem, $3 adalah nilai dari getgid (2) panggilan sistem, dan $4 adalah nilai dari getegid (2) panggilan sistem. Sekiranya terdapat sebarang bidang tambahan, mereka adalah ID kumpulan yang dikembalikan oleh getgroups (2). Pelbagai kumpulan mungkin tidak disokong pada semua sistem. AWK mempunyai fungsi aritmetik terbina dalam yang berikut: atan2 ( y , x ) Mengembalikan arctangent of y / x dalam radian. cos ( expr ) Mengembalikan kosinus expr , yang berada di radian. exp ( expr ) Fungsi eksponen. int ( expr ) Memangkas ke integer. log ( expr ) Fungsi logaritma semulajadi. rand () Mengembalikan nombor rawak antara 0 dan 1. dosa ( expr ) Mengembalikan semula sinus expr , yang berada di radian. sqrt ( expr ) Fungsi akar kuadrat. srand ( expr ) Kegunaan expr sebagai benih baru untuk penjana nombor rawak. Jika tidak expr disediakan, masa digunakan. Nilai pulangan adalah benih sebelumnya untuk penjana nombor rawak. Gawk mempunyai fungsi rentetan terbina dalam berikut: asort ( s , d ) Mengembalikan bilangan unsur dalam pelbagai sumber s . Kandungan s diurutkan menggunakan gawk peraturan normal untuk membandingkan nilai-nilai, dan indeks nilai-nilai yang disusun s digantikan dengan bilangan bulat berurut bermula dengan 1. Jika array destinasi pilihan d dinyatakan, kemudian s pertama ditiru d , dan kemudian d disusun, meninggalkan indeks pelbagai sumber s tidak berubah. gensub ( r , s , h , t ) Cari rentetan sasaran t untuk perlawanan ungkapan biasa r . Jika h adalah tali bermula dengan g atau G, kemudian gantikan semua perlawanan r dengan s . Jika tidak, h adalah nombor yang menunjukkan perlawanan yang mana r untuk menggantikan. Jika t tidak dibekalkan, $0 digunakan sebaliknya. Dalam teks penggantian s , urutannya n , di mana n adalah satu digit dari 1 hingga 9, boleh digunakan untuk menunjukkan hanya teks yang sepadan dengan n 'subestression parenthesized'. Urutan itu 0 mewakili keseluruhan teks yang dipadankan, seperti juga watak &. Tidak seperti sub () dan gsub (), rentetan yang diubahsuai dikembalikan sebagai hasil fungsi, dan rentetan sasaran asal adalah tidak berubah. gsub ( r , s , t ) Untuk setiap substring yang sepadan dengan ungkapan biasa r dalam rentetan t , tukar tali itu s , dan mengembalikan jumlah penggantian. Jika t tidak dibekalkan, gunakan $0. An & dalam teks gantian digantikan dengan teks yang sebenarnya dipadankan. Gunakan & untuk mendapatkan literal&. (Ini mesti ditaip sebagai '\&'; lihat GAWK: Pemrograman AWK Berkesan untuk perbincangan penuh tentang peraturan untuk & dan lekukan belakang dalam teks penggantian sub (), gsub (), dan gensub ().) indeks ( s , t ) Mengembalikan indeks rentetan t dalam rentetan s , atau 0 jika t tidak hadir. (Ini menunjukkan bahawa indeks karakter bermula pada satu.) panjang ( s ) Mengembalikan panjang rentetan s , atau panjang $0 jika s tidak dibekalkan. perlawanan ( s , r , a ) Mengembalikan kedudukan dalam s di mana ungkapan biasa r berlaku, atau 0 jika r tidak hadir, dan menetapkan nilai-nilai RSTART d
Penerangan
Format Pilihan
Pilihan
Pembolehubah, Rekod dan Bidang
Rekod
Medan
Pembolehubah terbina dalam
Arrays
Penyetaan dan Penukaran Variabel
Octal dan Heksadecimal Constants
Selang String
Corak dan Tindakan
Corak
Ekspresi Biasa
Tindakan
Pengendali
Penyataan Kawalan
Pernyataan I / O
Kenyataan printf
Nama Fail Khas
Fungsi Numerik
Fungsi Rentetan




