Bagaimana kita dapat menentukan dua pemisah bidang dalam perintah awk ketika salah satunya adalah spasi? Saya pikir ini bisa dilakukan dengan menggunakan kondisi if-else tertanam di awk, namun saya tidak yakin tentang perintah yang tepat.
File sampel adalah sebagai berikut:
cat test.txt
Swapnil Engineer 20000
Avinash:Doctor:30000
Dattu GovntJob 50000
Amol:Master:10000
Saya ingin mencetak kolom kedua ($ 2). Output yang diharapkan adalah:
Engineer
Doctor
GovntJob
Master
Ketika saya mencoba menempatkan spasi dan titik dua sebagai pemisah bidang, gagal dengan kesalahan sintaksis:
awk -F[ :] '{print $2}' test.txt
awk: cmd. line:1: :]
awk: cmd. line:1: ^ syntax error
Bagaimana kita bisa menggunakan dua pemisah bidang dan memanfaatkan fungsi awk?
-F[ :]
(satu argumen ) ia dapatkan-F[:
dan]
. Bagan ini cukup berguna (perhatikan panah vertikal untuk tanda kutip tunggal / ganda).Jawaban:
Anda berada di jalur yang benar!
Tambahkan saja kutipan yang hilang di sekitar
[ :]
:sumber