Cara Mencetak Kolom Pertama atau Kolom Terakhir atau Keduanya Menggunakan `awk`

Cara Mencetak Kolom Pertama atau Kolom Terakhir atau Keduanya Menggunakan `awk`

Perintah `awk` Linux adalah utilitas yang kuat untuk operasi yang berbeda pada file teks seperti mencari, mengganti, dan mencetak. Mudah digunakan dengan data tabular karena secara otomatis membagi setiap baris ke dalam bidang atau kolom berdasarkan pemisah bidang. Saat Anda bekerja dengan file teks yang berisi data tabular dan ingin mencetak data kolom tertentu, maka perintah `awk` adalah pilihan terbaik. Dalam tutorial ini, kami akan menunjukkan cara mencetak kolom pertama dan/atau kolom terakhir dari sebuah baris atau file teks.

Cetak kolom pertama dan/atau kolom terakhir dari output perintah

Banyak perintah Linux seperti perintah ‘ls’ menghasilkan keluaran tabel. Di sini, kami akan menunjukkan cara mencetak kolom pertama dan/atau kolom terakhir dari output perintah ‘ls -l’.

Contoh 1: Cetak kolom pertama dari output perintah

Perintah `awk` berikut akan mencetak kolom pertama dari output perintah ‘ls -l’.

$ ls -l

$ ls -l | awk '{ print $1 }'

Output berikut akan dihasilkan setelah menjalankan perintah di atas.

Contoh 2: Cetak kolom terakhir dari output perintah

Perintah `awk` berikut akan mencetak kolom terakhir dari output perintah ‘ls -l’.

$ ls -l

$ ls -l | awk '{ print $NF }'

Output berikut akan dihasilkan setelah menjalankan perintah di atas.

Contoh 3: Cetak kolom pertama dan terakhir dari output perintah

Perintah `awk` berikut akan mencetak kolom pertama dan terakhir dari output perintah ‘ls -l’.

$ ls -l

$ ls -l | awk '{ print $1,  $NF }'

Output berikut akan dihasilkan setelah menjalankan perintah di atas.

Cetak kolom pertama dan/atau kolom terakhir dari file teks

Di sini, kami akan menunjukkan cara menggunakan perintah `awk` untuk mencetak kolom pertama dan/atau kolom terakhir dari file teks.

Buat file teks

Untuk mengikuti tutorial ini, buat file teks bernama customers.txtdengan konten berikut. File tersebut berisi tiga jenis data pelanggan: nama dengan id, email, dan nomor telepon. Karakter tab (t) digunakan untuk memisahkan nilai-nilai ini.

Name Email Phone

Jonathon Bing - 1001 [email protected] 01967456323

Micheal Jackson - 2006 [email protected] 01756235643

Janifer Lopez - 3029 [email protected] 01822347865

John Abraham - 4235 [email protected] 01590078452

Mir Sabbir - 2756 [email protected] 01189523978

Contoh 4: Cetak kolom pertama file tanpa menggunakan pemisah bidang

Jika tidak ada pemisah kolom yang digunakan dalam perintah `awk`, maka spasi digunakan sebagai pemisah kolom default. Perintah `awk` berikut akan mencetak kolom pertama dengan menggunakan pemisah default.

$ cat customers.txt

$ awk '{print $1}' customers.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Perhatikan bahwa output hanya menampilkan nama depan pelanggan karena spasi diterapkan sebagai pemisah bidang. Solusi untuk masalah ini ditunjukkan pada contoh berikut.

Contoh 5: Cetak kolom pertama file dengan pembatas

Di sini, t digunakan sebagai pemisah bidang untuk mencetak kolom pertama file. Opsi ‘-F’ digunakan untuk mengatur pemisah bidang.

$ cat customers.txt

$ awk -F 't' '{print $1}' customers.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Isi file dibagi menjadi tiga kolom berdasarkan t. Oleh karena itu, nama dan id pelanggan dicetak sebagai kolom pertama. Jika Anda ingin mencetak nama pelanggan tanpa id, maka lanjutkan ke contoh berikutnya.


Jika Anda ingin mencetak nama pelanggan tanpa id, maka Anda harus menggunakan ‘-‘ sebagai pemisah bidang. Perintah `awk` berikut akan mencetak nama pelanggan hanya sebagai kolom pertama.

$ cat customers.txt

$ awk -F '-' '{print $1}' customers.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Outputnya termasuk nama lengkap pelanggan tanpa id mereka.

Contoh 6: Cetak kolom terakhir dari sebuah file

Perintah `awk` berikut akan mencetak kolom terakhir dari customers.txt. Karena tidak ada pemisah bidang yang digunakan dalam perintah, spasi akan digunakan sebagai pemisah bidang.

$ cat customers.txt

$ awk '{print $NF}' customers.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas. Kolom terakhir berisi nomor telepon, seperti yang ditunjukkan pada output.

Contoh 7: Cetak kolom pertama dan terakhir dari sebuah file

Perintah `awk` berikut akan mencetak kolom pertama dan terakhir dari customers.txt. Di sini, tab (t) digunakan sebagai pemisah bidang untuk membagi konten ke dalam kolom. Di sini, tab (t) digunakan sebagai pemisah untuk output.

$ cat customers.txt

$ awk -F "t"  '{print $1 "t"  $NF}' customers.txt

Output berikut akan muncul setelah menjalankan perintah di atas. Konten dibagi menjadi tiga kolom oleh t; kolom pertama berisi nama dan id pelanggan dan kolom kedua berisi nomor telepon. Kolom pertama dan terakhir dicetak dengan menggunakan t sebagai pemisah.

Kesimpulan

Perintah `awk` dapat diterapkan dengan berbagai cara untuk mendapatkan kolom pertama dan/atau kolom terakhir dari output perintah apa pun atau dari data tabular. Penting untuk dicatat bahwa pemisah bidang diperlukan dalam perintah, dan jika tidak ada, maka ruang digunakan.

Related Posts