Cara Menggunakan Perintah awk dalam Bash

Cara Menggunakan Perintah Awk Dalam Bash



Apabila bekerja dalam persekitaran baris arahan, adalah penting untuk mempunyai pemahaman yang kukuh tentang pelbagai arahan yang tersedia untuk mengurus fail, direktori dan data lain dengan berkesan. Satu arahan sedemikian ialah arahan 'awk'. awk ialah utiliti berkuasa yang digunakan untuk memproses dan memanipulasi fail teks dalam persekitaran Unix/Linux. Artikel ini akan menerangkan apakah perintah 'awk' dan cara menggunakannya dengan berkesan.

Apakah Perintah 'awk'?

Perintah 'awk' ialah alat yang berkuasa untuk memanipulasi dan memproses fail teks dalam persekitaran Unix/Linux. Ia boleh digunakan untuk melaksanakan tugas seperti padanan corak, penapisan, pengisihan dan memanipulasi data. awk digunakan terutamanya untuk memproses dan memanipulasi data secara berstruktur.







Cara Menggunakan Perintah awk

awk ialah alat baris arahan yang boleh digunakan dalam pelbagai cara. Ia boleh dipanggil terus dari baris arahan, atau ia boleh digunakan bersama dengan skrip shell. Berikut ialah beberapa contoh cara menggunakan awk:



Contoh 1: Mengira Bilangan Baris dalam Fail

Untuk mengira bilangan baris dalam fail, anda boleh menggunakan sintaks awk berikut:



awk 'TAMAT{cetak NR}' < nama fail.txt >


Di sini, 'NR' ialah pembolehubah terbina dalam yang mengandungi bilangan rekod (baris) yang diproses oleh awk. Kata kunci 'TAMAT' memberitahu awk untuk melaksanakan arahan ini selepas semua baris dalam fail telah diproses. Di sini saya telah mencipta fail teks fail untuk tujuan ilustrasi dan kemudian menggunakan sintaks di atas dalam skrip shell iaitu:





#!/bin/bash
awk 'TAMAT{cetak NR}' testfile.txt


Fail teks yang saya buat mempunyai dua baris dan apabila arahan awk digunakan output dipaparkan 2, anda boleh melihat fail teks yang saya buat dalam imej di bawah:



Contoh 2: Menapis Data

Awk boleh digunakan untuk menapis data berdasarkan kriteria tertentu dan berikut ialah sintaks yang harus digunakan untuk tujuan tersebut:

awk '!//' < nama fail.txt >


Sebagai contoh, anda boleh menggunakan arahan di bawah untuk menapis semua baris dalam fail yang mengandungi perkataan 'Hello.'

#!bin/bash
awk '!/Hello/' testfile.txt


Dalam contoh ini, '!' simbol menafikan carian ungkapan biasa, jadi semua baris yang tidak mengandungi perkataan 'Hello' akan dicetak. Saya telah menggunakan fail teks yang sama seperti dalam contoh sebelumnya jadi inilah output skrip yang diberikan di atas:

Contoh 3: Mengekstrak Medan Khusus

awk juga boleh digunakan untuk mengekstrak medan tertentu daripada fail. Sebagai contoh, jika anda mempunyai fail yang mengandungi senarai nama dan alamat, dan anda ingin mengekstrak nama sahaja, anda boleh menggunakan arahan berikut:

awk '{print $}' < nama fail.txt >


Di sini untuk ilustrasi, saya telah mencetak medan pertama fail teks yang sama dan '$1' mewakili medan pertama dalam setiap baris fail. Perintah 'cetak' memberitahu awk untuk mencetak medan itu sahaja.

#!/bin/bash
awk '{cetak $1}' testfile.txt


Dalam fail teks, entri pertama baris pertama ialah 'Ini' dan entri pertama baris kedua ialah 'Hello' jadi berikut ialah output kod yang diberikan:

Kesimpulan

Perintah awk ialah alat berkuasa yang digunakan untuk memanipulasi dan memproses fail teks. Ia membolehkan anda melakukan pelbagai operasi pada fail teks, seperti mencetak lajur tertentu, mencari corak dan mengira jumlah. Dengan menguasai asas awk, anda boleh memperkemas aliran kerja anda dan menjadi pengguna Linux atau Unix yang lebih cekap dan berkesan.