Latar Belakang
Saya menjalankan server SSH dan memiliki pengguna ini yang ingin saya hapus. Saya tidak dapat menghapus pengguna ini karena dia sedang menjalankan beberapa proses yang harus saya bunuh terlebih dahulu.
Ini adalah saluran pipa yang saya gunakan saat ini untuk mengetahui semua id proses dari pengguna yang saya gunakan saat ini:
ps -u user | awk '{print $1;}'
Outputnya terlihat seperti ini:
PID
2121
2122
2124
2125
2369
2370
Saya ingin mem-pipe ini untuk kill -9
mematikan semua proses sehingga saya bisa menghapus pengguna bodoh ini seperti ini:
ps -u user | awk '{print $1;}' | sudo xargs kill -9
Tetapi ini tidak berfungsi karena PID
tajuk:
kill: failed to parse argument: 'PID'
Pertanyaan
Saya berpikir bahwa harus ada perintah Unix sederhana untuk menghapus baris input pertama.
Saya sadar bahwa saya dapat menggunakan tail
ini, tetapi saya tidak ingin menghitung berapa banyak baris input berisi untuk mencari tahu persis berapa banyak yang ingin saya tampilkan.
Saya mencari sesuatu seperti head
atau tail
tetapi terbalik (bukan hanya menampilkan bagian pertama / terakhir dari aliran itu menampilkan semuanya kecuali awal / akhir aliran).
Catatan
Saya berhasil memecahkan masalah yang saya miliki dengan hanya menambahkan | grep [[:digit:]]
setelah awk
perintah saya, tetapi saya masih mencari cara untuk menghapus baris pertama file karena saya pikir akan sangat berguna dalam skenario lain.
awk
perintah).
NR
misawk 'NR>1 {print $1;}'
. Lebih baik lagi - gunakanpgrep -u
ataupkill -u