Memilih Kolum serta Membuang Perkataan Berulang dari Output Commandline

Sebentar tadi saya cuba melihat senarai user yang log masuk ke salah satu *server. * Di sini saya ingin kongsikan cara untuk menapis hasil yang kita mahu dari output yang panjang berjela di dalam commandline.

Untuk melihat senarai user yang log masuk melalui SSH adalah dengan menjalankan command

lsof -i -n | egrep '<sshd>'

Anda akan mendapat *output *seperti gambar dibawah.

[![ssh user](https://dausruddin.com/wp-content/uploads/2015/03/ssh-user.jpg)](https://dausruddin.com/wp-content/uploads/2015/03/ssh-user.jpg)IP telah saya tutup atas sebab keselamatan
Dengan melihat *output* ini, adakah anda dapat mengetahui siapa dan berapa ramaikah *user* yang sedang log masuk? Tidak.

Jadi mari kita tambahkan sedikit command supaya hanya nama user yang ditunjukkan.

lsof -i -n | egrep '<sshd>' |  awk '{print $3}'

Anda akan mendapat *output *seperti di bawah.

[![Hanya nama terlihat](https://dausruddin.com/wp-content/uploads/2015/03/ssh-user-name.jpg)](https://dausruddin.com/wp-content/uploads/2015/03/ssh-user-name.jpg)Hanya nama terlihat
> awk ‘{print $3}’ bertujuan untuk memilih kolum ketiga iaitu *user**name*. Anda boleh mengubah kolum pilihan dengan cara menukar 3 kepada kolum yang anda mahu. Contoh: kolum 4 -> awk ‘{print $4}’

Sekarang anda lebih mudah melihat senarai  user. Tapi, wujud user yang berulang. Jadi kita perlua menapis lagi supaya hasilnya lebih kemas dan mudah dibaca.

Untuk membuang user yang berulang, sila jalankan *command *ini,

lsof -i -n | egrep '<sshd>' |  awk '{print $3}' | awk '!seen[$1]++'

ssh user siap

awk ‘!seen[$1]++’ bertujuan menampilkan perkataan baharu yang pertama dilihat. Bermakna, sekiranya pperkataan sama ditemui lagi, perkataan itu akan dibuang dari senarai.

Hasil di atas lebih mudah untukt melihat siapa serta berapa *user *yang sedang log masuk ke *sesebuah *server.

Memilih Kolum serta Membuang Perkataan Berulang dari Output Commandline
Share this