Menu Close

Memilih Kolum serta Membuang Perkataan Berulang dari Output Commandline

Sebentar tadi saya cuba melihat senarai pengguna 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 pengguna yang log masuk melalui shell adalah dengan menjalankan perintah

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

Anda akan mendapat output seperti gambar dibawah.
Memilih Kolum serta Membuang Perkataan Berulang dari Output Commandline 1

Dengan melihat output ini, adakah anda dapat mengetahui siapa dan berapa ramaikah pengguna yang sedang log masuk? Tidak.

Jalankan perintah ini untuk memaparkan hanya nama pengguna

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

Anda akan mendapat *output *seperti di bawah.
Memilih Kolum serta Membuang Perkataan Berulang dari Output Commandline 2
awk ‘{print $3}’ diguna untuk memilih kolum ketiga iaitu nama pengguna. Anda boleh mengubah kolum pilihan dengan cara menukar 3 kepada kolum yang anda mahu. Contoh: kolum 4 adalah awk ‘{print $4}’

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

Untuk membuang pengguna yang berulang, sila jalankan perintah 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 perkataan sama ditemui lagi, perkataan itu akan dibuang dari senarai.
Hasil di atas lebih mudah untukt melihat siapa serta berapa pengguna yang sedang log masuk ke sesebuah server

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x