Apa itu AWK NF?

Apa Itu Awk Nf



Bahasa skrip AWK juga memiliki serangkaian variabel khusus bawaan untuk melayani beberapa tujuan yang telah ditentukan sebelumnya. Salah satu variabel bawaan tersebut adalah 'NF' yang memiliki fungsionalitas yang telah ditentukan sebelumnya. Artikel ini akan mengeksplorasi tujuan dari variabel AWK bawaan ini dengan mendemonstrasikan beberapa contoh yang relevan di Ubuntu 20.04.

AWK NF di Ubuntu 20.04:

Variabel AWK 'NF' digunakan untuk mencetak jumlah bidang di semua baris file yang disediakan. Variabel bawaan ini beralih melalui semua baris file satu per satu dan mencetak jumlah bidang secara terpisah untuk setiap baris. Untuk memahami fungsi ini dengan baik, Anda harus membaca contoh-contoh yang dibahas di bawah ini.

Contoh untuk Mendemonstrasikan Penggunaan AWK NF di Ubuntu 20.04:

Empat contoh berikut telah dirancang sedemikian rupa untuk mengajari Anda penggunaan AWK NF dengan cara yang sangat mudah dipahami. Semua contoh ini telah diimplementasikan menggunakan sistem operasi Ubuntu 20.04.







Contoh # 1: Mencetak Jumlah Bidang dari Setiap Baris File Teks:

Dalam contoh ini, kami ingin mencetak jumlah bidang atau kolom dari setiap baris atau baris atau rekaman file teks di Ubuntu 20.04. Untuk menunjukkan kepada Anda metode melakukannya, kami telah membuat file teks yang ditunjukkan pada gambar di bawah ini. File teks ini berisi tarif apel per kilogram dari lima kota berbeda di Pakistan.





Setelah kami membuat file teks sampel ini, kami menjalankan perintah berikut untuk mencetak jumlah bidang dari setiap baris file teks ini di terminal kami:





$ awk ' { cetak NF } ’ AppleRates.txt

Dalam perintah ini, kami memiliki kata kunci 'awk' yang menunjukkan bahwa kami menjalankan perintah AWK diikuti dengan pernyataan 'print NF' yang hanya akan mengulangi setiap baris file teks target dan akan mencetak jumlah bidang secara terpisah untuk setiap baris file teks. Akhirnya, kami memiliki nama file teks itu (yang bidangnya akan dihitung) yang dalam kasus kami adalah 'AppleRatest.txt'.



Karena kami memiliki jumlah bidang yang sama persis untuk kelima baris file teks kami, yaitu 2, nomor yang sama dicetak sebagai jumlah bidang untuk semua baris file teks karena menjalankan perintah ini. Hal ini dapat dilihat dari gambar di bawah ini:

Contoh # 2: Mencetak Jumlah Bidang dari Setiap Baris File Teks dengan Cara yang Dapat Disajikan:

Keluaran yang ditampilkan pada contoh yang dibahas di atas juga dapat disajikan dengan baik dengan menampilkan nomor baris dan jumlah bidang dari setiap baris file teks. Selain itu, kami juga dapat memisahkan nomor baris dari jumlah bidang dengan karakter khusus pilihan kami. Kami akan menggunakan file teks yang sama yang telah kami gunakan untuk contoh pertama kami untuk menunjukkan ini kepada Anda. Namun, perintah kami yang akan dieksekusi dalam kasus ini akan sedikit berbeda, dan itu adalah sebagai berikut:

$ awk ' { cetak NR, “---”, NF } ’ AppleRates.txt

Dalam perintah ini, kami telah memperkenalkan variabel AWK 'NR' bawaan yang hanya akan mencetak nomor baris dari semua baris file teks target kami. Selain itu, kami telah menggunakan tiga tanda hubung, “—” sebagai karakter khusus untuk memisahkan nomor baris dari jumlah bidang file teks yang kami sediakan.

Output yang sedikit dimodifikasi dari file teks yang sama ini ditunjukkan pada gambar di bawah ini:

Contoh # 3: Cetak Bidang Pertama dan Terakhir dari Setiap Baris File Teks:

Selain hanya menghitung jumlah bidang dari semua baris file teks yang disediakan, variabel khusus AWK 'NF' juga dapat digunakan untuk mengekstrak nilai sebenarnya dari bidang terakhir dari file teks yang disediakan. Sekali lagi, kami telah menggunakan file teks yang sama yang telah kami gunakan untuk dua contoh pertama kami. Namun, kami ingin mencetak nilai sebenarnya dari bidang pertama dan terakhir file teks kami dalam contoh ini. Untuk itu, kami menjalankan perintah berikut:

$ awk ' { mencetak $1 , $NF } ’ AppleRates.txt

Kata kunci “awk” diikuti oleh pernyataan “print $1, $NF” dalam perintah ini. Variabel khusus “$1” telah digunakan untuk mencetak nilai bidang pertama atau kolom pertama dari file teks yang kami sediakan, sedangkan variabel AWK “$NF” telah digunakan untuk mencetak nilai bidang terakhir atau kolom terakhir dari file teks target kami. Anda perlu memperhatikan di sini bahwa ketika kita menggunakan variabel AWK 'NF' apa adanya, maka digunakan untuk menghitung jumlah bidang dari setiap baris; namun, bila digunakan dengan simbol dolar “$”, maka itu hanya akan mengekstrak nilai sebenarnya dari bidang terakhir dari file teks yang disediakan. Perintah yang tersisa kurang lebih sama dengan perintah yang telah digunakan untuk dua contoh pertama.

Pada keluaran yang ditunjukkan di bawah ini, Anda dapat melihat bahwa nilai aktual dari bidang pertama dan terakhir dari file teks yang kami sediakan telah dicetak di terminal. Anda dapat melihat bahwa keluaran ini sangat mirip dengan keluaran dari perintah 'cat' semata-mata karena kami hanya memiliki dua bidang dalam file teks yang kami sediakan; oleh karena itu, isi dari seluruh file teks kami dicetak di terminal sebagai hasil dari menjalankan perintah yang disebutkan di atas.

Contoh #4: Pisahkan Catatan dengan Bidang yang Hilang dalam File Teks:

Kadang-kadang, ada beberapa rekaman dalam file teks dengan bidang tertentu yang hilang, dan Anda mungkin ingin memisahkan rekaman tersebut dari rekaman yang lengkap di setiap aspek. Ini juga dapat dilakukan dengan menggunakan variabel AWK “NF”. Untuk itu, kami telah membuat file teks bernama 'ExamMarks.txt' yang berisi nilai ujian dari lima siswa berbeda dalam tiga ujian berbeda beserta nama mereka. Namun, untuk ujian ketiga, beberapa siswa tidak hadir karena nilai mereka hilang. File teks ini adalah sebagai berikut:

Untuk membedakan catatan dengan bidang yang hilang dari catatan dengan bidang lengkap, kami akan menjalankan perintah yang ditunjukkan di bawah ini:

$ awk ' { cetak NR, “--- > ”, NF } ’ ExamMarks.txt

Perintah ini sama dengan yang kita gunakan untuk contoh kedua kita. Namun, dari output perintah ini yang ditunjukkan pada gambar berikut, Anda dapat melihat bahwa rekaman pertama dan keempat telah selesai, sedangkan rekaman kedua, ketiga, dan kelima berisi bidang yang hilang.

Kesimpulan:

Tujuan dari artikel ini adalah untuk menjelaskan penggunaan variabel khusus AWK “NF”. Kami pertama kali membahas secara singkat bagaimana variabel ini bekerja, dan setelah itu, kami menguraikan konsep ini dengan baik dengan bantuan empat contoh berbeda. Setelah Anda memahami semua contoh yang dibagikan dengan baik, Anda akan dapat menggunakan variabel AWK 'NF' untuk menghitung jumlah total bidang dan mencetak nilai sebenarnya dari bidang terakhir dari file yang disediakan.