Semua ini sangat menyenangkan, namun setiap contoh hanyalah "gigitan" dari "coins.txt". Mengapa tidak diberikan AWK yang lebih menarik?
Tantangan ini memberikan ide yang praktis untuk memasukkan banyak pernyataan AWK pada baris perintah, sehingga mudah untuk memperbaikinya. Perintah dapat ditulis ke dalam file, dan kemudian AWK dapat menjalankan perintah dari file sebagai berikut:
awk -f <awk program file name>
Dengan cara ini maka ada kemampuan untuk menulis suatu program AWK, kemudian apa yang seharusnya menjadi "master" yang dianalisa dari "coint.txt". Berikut ini adalah hasil keluaran program:
Summary Data for Coin Collection:
Gold pieces: nn
Weight of gold pieces: nn.nn
Value of gold pieces: n,nnn.nn
Silver pieces: nn
Weight of silver pieces: nn.nn
Value of silver pieces: n,nnn.nn
Total number of pieces: nn
Value of collection: n,nnn.nn
Berikut program AWK untuk menghasilkan informasi diatas:
# This is an awk program that summarizes a coin collection.
#
/gold/ { num_gold++; wt_gold += $2 } # Get weight of gold.
/silver/ { num_silver++; wt_silver += $2 } # Get weight of silver.
END { val_gold = 485 * wt_gold; # Compute value of gold.
val_silver = 16 * wt_silver; # Compute value of silver.
total = val_gold + val_silver;
print "Summary data for coin collection:"; # Print results.
printf ("\n");
printf (" Gold pieces: %2d\n", num_gold);
printf (" Weight of gold pieces: %5.2f\n", wt_gold);
printf (" Value of gold pieces: %7.2f\n",val_gold);
printf ("\n");
printf (" Silver pieces: %2d\n", num_silver);
printf (" Weight of silver pieces: %5.2f\n", wt_silver);
printf (" Value of silver pieces: %7.2f\n",val_silver);
printf ("\n");
printf (" Total number of pieces: %2d\n", NR);
printf (" Value of collection: %7.2f\n", total); }
* program ini disimpan dalam file bernama "summary.awk", dan dilewatkan sebagai berikut:
awk -f summary.awk coins.txt
Hasilnya adalah:
Summary data for coin collection:
Gold pieces: 9
Weight of gold pieces: 6.10
Value of gold pieces: 2958.50
Silver pieces: 4
Weight of silver pieces: 12.50
Value of silver pieces: 200.00
Total number of pieces: 13
Value of collection: 3158.50
Pustaka:
AWK PROGRAM EXAMPLE
Kamis, 19 Maret 2009
Perintah Baris AWK
Adalah mudah menggunakan AWK pada baris perintah sederhana untuk melakukan operasi pada file teks. Misalnya saya memiliki sebuah file yang bernama "coins.txt" yang menunjukkan koleksi uang logam. Setiap baris dalam file berisi informasi berikut:
gold 1 1986 USA American Eagle
gold 1 1908 Austria-Hungary Franz Josef 100 Korona
silver 10 1981 USA ingot
gold 1 1984 Switzerland ingot
gold 1 1979 RSA Krugerrand
gold 0.5 1981 RSA Krugerrand
gold 0.1 1986 PRC Panda
silver 1 1986 USA Liberty dollar
gold 0.25 1986 USA Liberty 5-dollar piece
silver 0.5 1986 USA Liberty 50-cent piece
silver 1 1987 USA Constitution dollar
gold 0.25 1987 USA Constitution 5-dollar piece
gold 1 1988 Canada Maple Leaf
Saya dapat memerintah AWK untuk memilih hanya potongan-potongan emas saja yang ditampilkan sebagai berikut:
awk '/ emas /' coins.txt
Ini adalah sangat baik, tetapi ada kritik yang mengatakan, uilitas "grep" atau "find" dapat melakukan hal yang sama. Benar, tetapi AWK mampu melakukan lebih banyak lagi. Misalnya, saya hanya ingin mencetak deskripsi lapangan, dan tidak menampilkan selain itu. Maka saya dapat mengubah perintah dari AWK menjadi:
awk '/ emas / (print $ 5, $ 6, $ 7, $ 8)' coins.txt
hasilnya:
American Eagle American Eagle
Franz Josef 100 Korona Franz Josef 100 Korona
ingot lantak
Krugerrand Krugerrand
Krugerrand Krugerrand
Panda Panda
Liberty 5-dollar piece Kebebasan 5-dollar piece
Constitution 5-dollar piece Konstitusi 5-piece dolar
Maple Leaf Maple Leaf
Pustaka:
AWK COMMAND-LINE EXAMPLES
gold 1 1986 USA American Eagle
gold 1 1908 Austria-Hungary Franz Josef 100 Korona
silver 10 1981 USA ingot
gold 1 1984 Switzerland ingot
gold 1 1979 RSA Krugerrand
gold 0.5 1981 RSA Krugerrand
gold 0.1 1986 PRC Panda
silver 1 1986 USA Liberty dollar
gold 0.25 1986 USA Liberty 5-dollar piece
silver 0.5 1986 USA Liberty 50-cent piece
silver 1 1987 USA Constitution dollar
gold 0.25 1987 USA Constitution 5-dollar piece
gold 1 1988 Canada Maple Leaf
Saya dapat memerintah AWK untuk memilih hanya potongan-potongan emas saja yang ditampilkan sebagai berikut:
awk '/ emas /' coins.txt
Ini adalah sangat baik, tetapi ada kritik yang mengatakan, uilitas "grep" atau "find" dapat melakukan hal yang sama. Benar, tetapi AWK mampu melakukan lebih banyak lagi. Misalnya, saya hanya ingin mencetak deskripsi lapangan, dan tidak menampilkan selain itu. Maka saya dapat mengubah perintah dari AWK menjadi:
awk '/ emas / (print $ 5, $ 6, $ 7, $ 8)' coins.txt
hasilnya:
American Eagle American Eagle
Franz Josef 100 Korona Franz Josef 100 Korona
ingot lantak
Krugerrand Krugerrand
Krugerrand Krugerrand
Panda Panda
Liberty 5-dollar piece Kebebasan 5-dollar piece
Constitution 5-dollar piece Konstitusi 5-piece dolar
Maple Leaf Maple Leaf
Pustaka:
AWK COMMAND-LINE EXAMPLES
Struktur Program AWK
Program AWK terdiri dari:
* Sebuah segmen opsional BEGIN
o Untuk menjalankan proses sebelum membaca masukan
* Pasangan pola - tindakan
o Masukan untuk pengolahan data
o Untuk setiap pola yang cocok, maka tindakan ini diambil
* Sebuah segmen opsional END
o Pemrosesan setelah akhir input data
# Pernyataan setiap program telah memiliki pola, tindakan, atau keduanya
# Pola awal yang cocok dengan semua baris
# Aksi awal saat ini adalah untuk mencetak rekord
# Pola didaftar secara sederhana; tindakan ditutup dalam kurung ()
# AWK memindai secara urutan dari masukan baris, atau catatan, satu per satu, mencari saluran yang cocok dengan pola
* Arti cocok tergantung pada pola
* /Beth/ cocok jika string "Beth" yang ada di catatan
* $3 > 0 cocok jika kondisi itu benar
Pustaka:
snap.nlc.dcccd.edu: Week9.ppt
* Sebuah segmen opsional BEGIN
o Untuk menjalankan proses sebelum membaca masukan
* Pasangan pola - tindakan
o Masukan untuk pengolahan data
o Untuk setiap pola yang cocok, maka tindakan ini diambil
* Sebuah segmen opsional END
o Pemrosesan setelah akhir input data
# Pernyataan setiap program telah memiliki pola, tindakan, atau keduanya
# Pola awal yang cocok dengan semua baris
# Aksi awal saat ini adalah untuk mencetak rekord
# Pola didaftar secara sederhana; tindakan ditutup dalam kurung ()
# AWK memindai secara urutan dari masukan baris, atau catatan, satu per satu, mencari saluran yang cocok dengan pola
* Arti cocok tergantung pada pola
* /Beth/ cocok jika string "Beth" yang ada di catatan
* $3 > 0 cocok jika kondisi itu benar
Pustaka:
snap.nlc.dcccd.edu: Week9.ppt
Rabu, 11 Maret 2009
Apa "AWK" itu?
Nama awk berasal dari inisial para desainer: Alfred V. Aho, Peter J. Weinberger dan Brian W. Kernighan. Versi asli dari awk ditulis pada tahun 1977 di AT & T Bell Laboratories. Pada tahun 1985 versi baru bahasa pemrograman yang dibuat lebih kuat, pengenalan ditetapkan pengguna fungsi, beberapa masukan stream, dan perhitungan ekspresi reguler. [1]
AWK Suatu bahasa pemrograman untuk menangani tugas data manipulasi bersama dengan hanya menggunakan beberapa baris program
AWK adalah bahasa pola aksi (pattern action).
Bahasa AWK sedikit mirip dengan bahasa C tetapi secara otomatis menangani masukan, pemisahan field, inisialisasi dan managemen memori. Sudah tersedia tipe data string dan angka. Tidak memerlukan deklarasi tipe veriabel.
AWK adalah bahasa prototyping yang hebat. Dimulai dengan baris yang singkat dan
Start with a few lines and keep adding until it does what you want [2]
AWK adalah bahasa pemrograman yang digunakan untuk memanipulasi teks.
Meskipun operasinya bisa sangat kompleks, sintaks untuk AWK selalu :
awk '{pattern + action}' '{filenames}'
pattern merepresentasikan pola yang ingin dicari oleh AWK dan action merupakan
action yang ingin dilakukan jika pola yang sesuai ditemui. [3]
Pustaka:
[1] History of awk
[2] AWK : scribd.com
[3] AWK (Alfred Aho, Peter Weinberger, and Brian Kernighan)
AWK Suatu bahasa pemrograman untuk menangani tugas data manipulasi bersama dengan hanya menggunakan beberapa baris program
AWK adalah bahasa pola aksi (pattern action).
Bahasa AWK sedikit mirip dengan bahasa C tetapi secara otomatis menangani masukan, pemisahan field, inisialisasi dan managemen memori. Sudah tersedia tipe data string dan angka. Tidak memerlukan deklarasi tipe veriabel.
AWK adalah bahasa prototyping yang hebat. Dimulai dengan baris yang singkat dan
Start with a few lines and keep adding until it does what you want [2]
AWK adalah bahasa pemrograman yang digunakan untuk memanipulasi teks.
Meskipun operasinya bisa sangat kompleks, sintaks untuk AWK selalu :
awk '{pattern + action}' '{filenames}'
pattern merepresentasikan pola yang ingin dicari oleh AWK dan action merupakan
action yang ingin dilakukan jika pola yang sesuai ditemui. [3]
Pustaka:
[1] History of awk
[2] AWK : scribd.com
[3] AWK (Alfred Aho, Peter Weinberger, and Brian Kernighan)
Pendahuluan
Pemeliharaan perangkat lunak sering terlalu mahal. Sebagian dari masalah ini adalah bahwa diulang dari modifikasi perangkat lunak sistem yang menurunkan struktur, sehingga sulit untuk memahami dan memodifikasi. Semantik kaya teknik dapat membantu memulihkan struktur sebuah sistem, tetapi mereka mungkin membutuhkan concurrency analisa, analisa waktu, atau ketergantungan analisis mengenai pointer, yang sulit untuk melaksanakan efisien. Kami mengusulkan yang cepat, Programmable alat yang dapat melakukan syntactically berorientasi tugas pengolahan teks untuk digunakan dalam program pemahaman dan transformasi.Karena kami adalah alat syntactically berorientasi, alat pengguna harus menemukan cara untuk menemukan informasi yang diperlukan semantik. Namun, kami percaya bahwa informasi berhubung dgn sintaksis dilengkapi dengan desain dan domain pengetahuan seringkali cukup untuk memperoleh informasi yang diperlukan semantik. Namun, untuk melakukan hal ini dapat membawakan iteratively menyempurnakan permintaan untuk mencari informasi yang benar, yang cepat memerlukan alat. Kami mengambil "tradisional" Kompiler pendekatan masalah untuk menyediakan alat dengan fleksibilitas dan kecepatan UNIX tool seperti AWK. Awal pengukuran kinerja menunjukkan bahwa pendekatan ini dapat menghasilkan hasil substansial pendekatan lebih cepat dari sebelumnya. [1]
Pustaka:
[1] A Syntax-Directed Tool for Program Understanding …
Pustaka:
[1] A Syntax-Directed Tool for Program Understanding …
Jadwal Perkuliahan & Penilaian
Jadwal Kuliah:
Kuliah dilaksanakan satu kali dalam seminggu selama 16 minggu.
Mahasiswa harus mengikuti mata kuliah dan minimal kehadirannya adalah 75% (12 pertemuan)
Disamping itu juga harus melakukan praktek dua kali dalam seminggu selama 16 minggu.
Prosentasi penilaian:
Teori:
1. Mengerjakan tugas (30%)
2. Mengerjakan UTS (30%)
3. Mengerjakan UAS (40%)
Praktek:
- Mengikuti praktek dari Dosen lain (Drs. Dwi Kurnia Basuki, M.Kom & One Setiaji, ST)
Kuliah dilaksanakan satu kali dalam seminggu selama 16 minggu.
Mahasiswa harus mengikuti mata kuliah dan minimal kehadirannya adalah 75% (12 pertemuan)
Disamping itu juga harus melakukan praktek dua kali dalam seminggu selama 16 minggu.
Prosentasi penilaian:
Teori:
1. Mengerjakan tugas (30%)
2. Mengerjakan UTS (30%)
3. Mengerjakan UAS (40%)
Praktek:
- Mengikuti praktek dari Dosen lain (Drs. Dwi Kurnia Basuki, M.Kom & One Setiaji, ST)
Langganan:
Postingan (Atom)