Aduh

Cara Menggunakan Regex dengan Perintah 'awk'

Cara Menggunakan Regex dengan Perintah 'awk'

Ungkapan biasa (regex) digunakan untuk mencari urutan watak tertentu dalam fail. Simbol seperti huruf, digit, dan watak khas dapat digunakan untuk menentukan corak. Pelbagai tugas dapat diselesaikan dengan mudah dengan menggunakan corak regex. Dalam tutorial ini, kami akan menunjukkan kepada anda cara menggunakan corak regex dengan perintah 'awk'.

Watak asas yang digunakan dalam corak

Banyak watak boleh digunakan untuk menentukan corak regex. Karakter yang paling biasa digunakan untuk menentukan corak regex ditentukan di bawah.

Perwatakan Penerangan
. Padankan watak apa pun tanpa garis baru (\ n)
\ Nyatakan watak meta baru
^ Padankan permulaan garis
$ Padankan hujung garisan
| Tentukan pengganti
() Tentukan kumpulan
[] Tentukan kelas watak
\ w Padankan sebarang perkataan
\ s Padankan sebarang watak ruang kosong
\ d Padankan sebarang digit
\ b Padankan sebarang batas perkataan

Buat fail

Untuk mengikuti tutorial ini, buat fail teks bernama produk.txt. Fail harus mengandungi empat bidang: ID, Nama, Jenis, dan Harga.

Nama Jenis Jenis Harga

p1001 15 "Monitor Monitor $ 100

p1002 A4tech Mouse Tetikus $ 10

p1003 Pencetak Samsung Pencetak $ 50

p1004 Pengimbas Pengimbas HP $ 60

p1005 Tetikus Logitech Mouse $ 15

Contoh 1: Tentukan corak regex menggunakan kelas watak

Perintah 'awk' berikut akan mencari dan mencetak baris yang mengandungi watak 'n' diikuti oleh watak 'er'.

$ produk kucing.txt
$ awk '/ [n] [er] / mencetak $ 0' produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Output menunjukkan garis yang sesuai dengan corak. Di sini, hanya satu baris yang sesuai dengan corak.

Contoh 2: Tentukan corak regex menggunakan simbol '^'

Perintah 'awk' berikut akan mencari dan mencetak baris yang bermula dengan watak 'p' dan merangkumi nombor 3.

$ produk kucing.txt
$ awk '/ ^ h.* 3 / cetak $ 0 produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Di sini, ada satu garis yang sesuai dengan corak.

Contoh 3: Tentukan corak regex menggunakan fungsi gsub

The gsub () fungsi digunakan untuk mencari dan mengganti teks secara global. Perintah 'awk' berikut akan mencari perkataan 'Scanner' dan menggantinya dengan kata 'Router' sebelum mencetak hasilnya.

$ produk kucing.txt
Produk $ awk 'gsub (/ Scanner /, "Router")'.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Terdapat satu baris yang mengandungi perkataan 'Pengimbas', dan'Pengimbas'digantikan dengan perkataan'Penghala'sebelum baris dicetak.

Contoh 4: Tentukan corak regex dengan '*'

Perintah 'awk' berikut akan mencari dan mencetak sebarang rentetan yang bermula dengan 'Mo' dan menyertakan watak seterusnya.

$ produk kucing.txt
$ awk '/ Mo * / mencetak $ 0' produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Tiga baris sepadan dengan corak: dua baris mengandungi perkataan 'Tetikus'dan satu baris mengandungi perkataan'Pantau'.

Contoh 5: Tentukan corak regex menggunakan simbol '$'

Perintah 'awk' berikut akan mencari dan mencetak baris dalam fail yang diakhiri dengan nombor 5.

$ produk kucing.txt
$ awk '/ 5 $ / mencetak $ 0' produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas.  Hanya ada satu baris dalam fail yang berakhir dengan nombor 5.

Contoh 6: Tentukan corak regex menggunakan '^' dan '|' simbol

The '^'simbol menunjukkan permulaan garis, dan'|'simbol menunjukkan pernyataan ATAU yang logik. Perintah 'awk' berikut akan mencari dan mencetak baris yang bermula dengan watak 'hlm'dan mengandungi salah satu'Pengimbas'atau'Tetikus'.

$ produk kucing.txt
$ awk '/ ^ h.* (Pengimbas | Tetikus) / 'produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Hasilnya menunjukkan bahawa dua baris mengandungi perkataan 'Tetikus'dan satu baris mengandungi perkataan'Pengimbas'. Ketiga-tiga baris bermula dengan watak 'hlm'.

Contoh 7: Tentukan corak regex menggunakan simbol '+'

The '+'operator digunakan untuk mencari sekurang-kurangnya satu perlawanan. Perintah 'awk' berikut akan mencari dan mencetak baris yang mengandungi watak 'n' sekurang-kurangnya sekali.

$ produk kucing.txt
$ awk '/ n + / print' produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Di sini, watak 'n'mengandung berlaku sekurang-kurangnya sekali dalam baris yang mengandungi perkataan Monitor, Pencetak, dan Pengimbas.

Contoh 8: Tentukan corak regex menggunakan fungsi gsub ()

Perintah 'awk' berikut akan mencari perkataan secara globalMesin pencetak'dan gantikannya dengan perkataan'Pantau' menggunakan fungsi gsub ().

$ produk kucing.txt
$ awk 'gsub (/ Printer /, "Monitor") cetak $ 0' produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Baris keempat fail mengandungi perkataan 'Mesin pencetak'dua kali, dan dalam output,'Mesin pencetak'telah digantikan dengan perkataan'Pantau'.

Kesimpulannya

Banyak simbol dan fungsi yang dapat digunakan untuk menentukan corak regex untuk carian yang berbeza dan menggantikan tugas. Beberapa simbol yang biasa digunakan dalam corak regex diterapkan dalam tutorial ini dengan perintah 'awk'.

Tambahkan isyarat Tetikus ke Windows 10 menggunakan alat percuma ini
Dalam beberapa tahun kebelakangan ini komputer dan sistem operasi telah banyak berkembang. Ada saat ketika pengguna harus menggunakan perintah untuk m...
Mengawal & menguruskan pergerakan tetikus antara beberapa monitor di Windows 10
Pengurus Tetikus Paparan Dwi membolehkan anda mengawal & mengkonfigurasi pergerakan tetikus antara beberapa monitor, dengan memperlahankan pergerakann...
WinMouse membolehkan anda menyesuaikan & meningkatkan pergerakan penunjuk tetikus pada PC Windows
Sekiranya anda ingin meningkatkan fungsi lalai penunjuk tetikus anda gunakan perisian percuma WinMouse. Ia menambah lebih banyak ciri untuk membantu a...