Pelajari Linux

Perintah awk Linux dengan 10 contoh

Perintah awk Linux dengan 10 contoh

Sistem komputer selalu digunakan untuk menganalisis data berharga yang disimpan dalam file teks sederhana. Pada gilirannya, sistem komputer itu sendiri dikelola melalui file log. Apa yang berpotensi umum dalam dua situasi ini adalah bahwa mereka menyimpan sejumlah besar data, yang seringkali perlu disederhanakan sebelum benar-benar membaca data; jika tidak, itu hanya membingungkan.

Misalnya, jika Anda membaca beberapa data yang disusun dalam bentuk tabel, Anda menginginkan beberapa kolom, Anda tidak menginginkan yang lain.

Persyaratan ini sangat mengerikan bahkan di masa lalu, dan akibatnya, Proyek GNU memiliki alat luar biasa yang membantu pengguna menyaring dan mengekstrak data untuk pengalaman yang lebih baik. Alat itu adalah AWK.

Sejarah

AWK sebenarnya adalah bahasa pemrograman yang didedikasikan untuk pemrosesan teks. Ini digunakan untuk ekstraksi data dalam pola tertentu. Ini dikembangkan pada 1970-an oleh Bell Labs, oleh Alfred Aho, Peter Weinberger, dan Brian Kernighan (inisial nama keluarga mereka melahirkan nama itu). Perkembangan awk tidak berhenti di situ. Versi baru diperkenalkan pada tahun 1985, yang membawa perubahan baru pada perintah awk, termasuk kemampuan untuk menangani beberapa aliran input, ekspresi reguler yang dihitung, fungsi yang ditentukan pengguna, dan banyak lagi! Singkatnya, pembaruan menjadikannya bahasa pemrograman yang lebih kuat powerful.

Awk memiliki implementasi yang berbeda. Untuk memastikan bahwa ada implementasi yang tepat yang menawarkan pendekatan standar, Paul Rubin menulis melongo pada tahun 1986. Ini bekerja dengan baik dengan awk yang lebih baru.

Selain itu, pada Rilis Sistem V 1989, fitur baru ditambahkan new. Pengembang juga meningkatkan sudut gelapnya, membuatnya lebih baik bagi programmer dan pengguna untuk menggunakannya. Perubahan terakhir terjadi pada tahun 1997 ketika awk melihat akses jaringan - memberikan pengguna kemampuan untuk memecahkan masalah dari jarak jauh.

Penulisan ulang terbaru dilakukan pada tahun 2011 ketika John Haque menulis ulang internal gawk.

Hal-hal yang dapat Anda lakukan dengan AWK

Sekarang, seharusnya sudah jelas apa yang mampu dilakukan AWK. Ini adalah bahasa skrip tujuan umum yang memungkinkan Anda menangani pemrosesan teks. Pengguna tingkat lanjut juga dapat menggunakannya untuk analisis dan pelaporan.

AWK tidak seperti bahasa pemrograman lain karena berbasis data, bukan bahasa pemrograman prosedural. Itu berarti Anda dapat menggunakannya secara efektif untuk melakukan tindakan terhadap input teks. Singkatnya, Anda dapat menggunakannya untuk mengubah data, memasukkannya, dan juga mengirimkannya sebagai keluaran standar.

Singkatnya, Anda dapat menggunakan AWK untuk melakukan operasi sederhana seperti membagi setiap baris input menjadi beberapa bidang, memindai file baris demi baris, melakukan tindakan pada baris yang cocok, dan seterusnya! Perintah awk juga berguna untuk laporan yang diformat prosedur dan mengubah file data. Selain itu, Anda juga mendapatkan akses ke konstruksi pemrograman seperti kondisional & loop, operasi string & aritmatika, dan format baris output.

Cara kerja awk

Di bagian ini, kita akan mempelajari cara kerja awk. Penting untuk mengetahui bahwa awk memiliki implementasi yang berbeda. Untuk memastikan bahwa kita berada di halaman yang sama, kita akan membahas dan menggunakan implementasi GNU - yang dikenal sebagai gawk. Dalam kebanyakan kasus, gawk disinkronkan dengan penerjemah awk.

Untuk mendapatkan pemahaman yang baik, pertama-tama kita perlu memahami Record dan field.

Sudah diketahui bahwa awk dapat memproses aliran tekstual dan file data. Untuk memproses data, input dibagi menjadi field dan record. Untuk memastikan bahwa awk tidak kewalahan, satu record diproses pada waktu tertentu sampai akhir input tercapai. Selanjutnya, catatan dibagi lagi menjadi bagian sederhana menggunakan pemisah catatan menggunakan karakter. Juga, setiap record dipisahkan menggunakan karakter baris baru. Ini berarti bahwa setiap baris dapat disebut sebagai catatan.

Anda dapat memilih untuk mengatur pemisah rekor baru menggunakan variabel RS.

Berikutnya adalah pemisah yang diajukan. Seperti biasa, setiap record memiliki field, dan dipisahkan menggunakan pemisah field. Pemisah bidang dapat berupa spasi, tab, karakter baris baru, dan spasi. Juga, setiap bidang direferensikan menggunakan simbol $, sedangkan nomor bidang dimulai dengan 1. Ini berarti bahwa bidang pertama dapat dilambangkan sebagai $1 sedangkan bidang kedua dilambangkan sebagai $2. Dengan cara ini, bidang ke-n dapat dilambangkan sebagai $nf.

Program awk

Aspek kedua dari awk adalah program awk. Jika Anda ingin bekerja dengan awk, Anda perlu menulis program yang memungkinkan perintah mengeksekusi atau memproses teks. Program awk menawarkan banyak fungsi menggunakan aturan dan fungsi yang ditentukan pengguna. Aturan bekerja dengan pasangan tindakan atau satu pola, dan aturan dipisahkan menggunakan titik koma atau baris baru.

Jika Anda bertanya-tanya, program awk akan terlihat seperti di bawah ini.

pola  tindakan  pola  tindakan … 

Singkatnya, program awk bekerja dengan mencocokkan catatan berdasarkan pola. Jika pola ditemukan dalam catatan, maka itu akan memprosesnya. Jika tidak, maka seluruh catatan dicocokkan untuk memastikan bahwa ada sesuatu yang cocok berdasarkan aturan.

Contoh Perintah awk

Sekarang kita memiliki pemahaman yang baik tentang perintah awk dan cara kerjanya, sekarang saatnya bagi kita untuk memeriksa beberapa contoh perintah awk.

Jika Anda belum pernah menggunakan awk sebelumnya, Anda mungkin ingin tahu bahwa awk dapat digunakan dengan opsi seperti di bawah ini:

file program opsi awk

Opsi yang dapat Anda gunakan dengan awk termasuk yang berikut:

Contoh 1: Baca Skrip AWK

Salah satu cara paling umum menggunakan awk adalah membaca skrip. Sebagai pengguna Linux, Anda dapat membuat skrip awk menggunakan penanda kutip tunggal.

Untuk melakukannya, Anda perlu mengetikkan perintah berikut di terminal.

$awk 'print "Selamat datang di Halo, Dunia -- tutorial AWK"'

Dalam contoh di atas, apa yang Anda ketik, itu akan dikembalikan ke layar itu sendiri. Perintah akan terus dijalankan sampai Anda mengakhirinya dengan menekan CTRL + D.

Contoh 2: Menggunakan Beberapa Perintah

Penggunaan umum lainnya dari awk adalah dengan menggunakan banyak perintah. Sebagai pengguna, Anda mungkin ingin menggabungkan dua perintah awk menjadi satu untuk mendapatkan hasil yang diinginkan. Dalam contoh ini, kami akan menampilkan string dan kemudian mengganti kata kedua dalam string dengan input baru.

$echo "Halo Dunia" | awk '$2 = "Alam semesta; cetak $0"'

Dalam contoh di atas, pertama-tama kita menggemakan, "Halo, Dunia" ke terminal. Selanjutnya, kami menggabungkan perintah awk lain di mana kami mengganti kata kedua dengan Universe - dan akhirnya mengeluarkan string, yaitu Hello Universe.

Contoh 3: Menggunakan Variabel

Variabel memungkinkan Anda menyimpan informasi dan mengaksesnya. Jika Anda pernah menggunakan bahasa pemrograman sebelumnya, Anda pasti tahu tentang mereka. Dalam kasus awk, Anda menggunakannya untuk memproses file teks. Dengan menggunakan variabel, Anda dapat mengakses bidang data tertentu di dalam file seperti di bawah ini.

Untuk tujuan ini, kami membuat file teks baru, mynewfile, tempat kami memasukkan beberapa baris acak namun indah.

Selanjutnya, Anda perlu menjalankan perintah, seperti yang ditunjukkan di bawah ini.

awk 'print $1' file baru saya

Seperti yang Anda lihat, itu mengeluarkan variabel tertentu yang menunjukkan bidang itu dari file. Juga, Anda harus melihat kesalahan yang saya buat.

Contoh 4: Pemrosesan AWK

Dengan perintah awk, Anda dapat menambahkan preprocessing. Untuk melakukannya, Anda perlu menggunakan kata kunci BEGIN.

Jika Anda membaca dengan seksama, kami membuat file baru di atas. Mari kita coba menggunakan preprocessing awk untuk menampilkan konten file.

Perintah untuk itu adalah seperti di bawah ini.

awk 'awk BEGIN print "Isi file:" > print $0' , mynewfile

Contoh tangkapan layar di atas tidak benar. Saya menggunakan "Mulai" alih-alih "MULAI," itulah sebabnya Anda tidak melihat pernyataan cetak dijalankan. Saya meninggalkan ini untuk Anda coba dan lihat bagaimana hasilnya!

Contoh 5: Membaca Script Dari File

Yang ini rumit. Di sini, Anda dapat menggunakan skrip awk untuk membaca file.

Kami membuat skrip baru yang berisi yang berikut:.

cetak $1 "alam semesta dimulai dari " $6"

Kami menyimpan file sebagai skrip baru.

Sekarang, jalankan perintah berikut di terminal.

$awk -F: -f skrip baru /etc/passwd

Menarik, kan?!

Contoh 6: Pasca-pemrosesan AWK

Selanjutnya, kita lihat pasca-pemrosesan AWK. Ini bekerja mirip dengan pra-pemrosesan, tetapi kali ini, pasca-pemrosesan menggunakan perintah END.

$ awk 'BEGIN print "Isi file dimulai sekarang:" > > print $0 > > END print "File berakhir"' mynewfile

Contoh 7: Variabel yang ditentukan pengguna

Anda juga dapat menggunakan variabel dalam perintah awk tanpa menggunakan angka atau tanda dolar.

Di bawah ini adalah contohnya.

$awk ' BEGIN test = "Selamat datang di FossLinux Awesome Linux Family" tes cetak  '

Contoh 8: Fungsi Bawaan

Perintah awk juga berguna dengan fungsi bawaannya. Misalnya, Anda dapat menggunakan fungsi matematika, dan juga fungsi String.

$ awk 'MULAI x - "fossLinux"; cetak atas(x)'
$ awk 'MULAI x=exp(35); cetak x'

Contoh 9: Memformat Pencetakan

Anda juga dapat memformat fungsi printf yang disertakan dengan awk. Ada banyak pengubah yang bisa Anda gunakan. Misalnya, Anda dapat menggunakan c untuk mencetak sebagai string; anda juga dapat menggunakan d untuk nilai integer, dan seterusnya.

$ awk 'MULAI  x = 200 * 200 printf "Hasilnya adalah: %e\n", x '

Contoh 10: Perintah Terstruktur

Anda juga dapat menggunakan perintah terstruktur seperti if, else, while, atau for loop. Mari kita lihat contoh di bawah untuk perintah if if.

$ awk 'if ($1 > 20) print $2' mynewfile

Kesimpulan

Ini membawa kita ke akhir tutorial perintah awk kami. Jadi, apakah Anda merasa itu berguna, dan apakah Anda akan menggunakannya untuk pekerjaan Anda?? Komen di bawah dan beri tahu kami.

Cara Menampilkan Penghitung FPS di Game Linux
Game Linux mendapat dorongan besar ketika Valve mengumumkan dukungan Linux untuk klien Steam dan game mereka pada tahun 2012. Sejak itu, banyak game A...
Cara mengunduh dan Memainkan Civilization VI Sid Meier di Linux
Pengenalan permainan Civilization 6 adalah konsep modern dari konsep klasik yang diperkenalkan dalam seri game Age of Empires. Idenya cukup sederhana;...
Cara Menginstal dan Memainkan Doom di Linux
Pengantar Doom Seri Doom berasal dari tahun 90-an setelah rilis Doom. Itu adalah hit instan dan sejak saat itu seri game telah menerima banyak penghar...