GNU/Linux >> Belajar Linux >  >> Linux

Cara grep keluaran ps dengan header

Solusi 1:

ps -ef | egrep "GMC|PID"

Ganti "GMC" dan ps beralih sesuai kebutuhan.

Contoh keluaran:

[email protected]:~$ ps -ef | egrep "disk|PID"

UID        PID  PPID  C STIME TTY          TIME CMD
paremh1  12501 12466  0 18:31 pts/1    00:00:00 egrep disk|PID
root     14936     1  0 Apr26 ?        00:02:11 /usr/lib/udisks/udisks-daemon
root     14937 14936  0 Apr26 ?        00:00:03 udisks-daemon: not polling any devices

Solusi 2:

Berkat geekosaur, saya ingin menggunakan perintah ini untuk permintaan Anda, bukan perintah terpisah:

ps -ef | head -1; ps -ef | grep "your-pattern-goes-here"

Yang sulit adalah memanfaatkan ";" didukung oleh shell untuk merangkai perintah.

Solusi 3:

Kolom kedua adalah id proses; 4 adalah saat proses dibuat (ini biasanya saat program Anda dimulai, tetapi tidak selalu; pertimbangkan execve() dan kawan kawan); 6 adalah jumlah waktu CPU yang dikonsumsi. Jadi sudah berjalan selama 8 hari dan menggunakan waktu CPU hampir 7 hari, yang menurut saya mengkhawatirkan.

Mendapatkan tajuk dalam doa yang sama paling sulit; Saya hanya akan melakukan ps | head -1 terpisah . Anda mungkin mempertimbangkan untuk menggunakan ps metode pemilihannya sendiri atau sesuatu seperti pgrep bukannya grep , yang sebenarnya tidak dirancang untuk melewatkan header.

Solusi 4:

Solusi egrep sederhana dan berguna, tetapi tentu saja Anda bergantung pada header yang selalu berisi 'PID' (walaupun asumsi yang lebih masuk akal) dan string yang sama tidak muncul di tempat lain. Saya kira ini cukup untuk kebutuhan Anda, tetapi jika seseorang menginginkan alternatif, ada sed.

Sed memungkinkan Anda mengatakan "cetak baris pertama, lalu baris apa pun yang berisi pola". Misalnya:

ps auxwww | sed -n '1p; /PROCESS_NAME_TO_SEARCH/p;'

Tambahkan /sed -n/d; untuk memfilter sed sendiri:

ps auxwww | sed -n '1p; /sed -n/d; /PROCESS_NAME_TO_SEARCH/p;'

Solusi 5:

alternatif yang lebih mudah:ps -ef | { head -1; grep GMC; }

ganti nomor dengan jumlah baris yang menampilkan tajuk Anda.


Linux
  1. Bagaimana Mengurutkan Du Output Berdasarkan Ukuran?

  2. Bagaimana Cara Mengeluarkan File &Mengabaikan Baris Yang Dimulai Dengan "?"?

  3. Cara memahami keluaran warna

  1. Bagaimana cara meminta file tetapi tidak menyimpannya dengan Wget?

  2. Bagaimana cara menangkap output dari perintah teratas dalam file di linux?

  3. Bagaimana cara menyalurkan output dari grep ke cp?

  1. Cara meneruskan output perintah sebagai beberapa argumen ke perintah lain

  2. Bagaimana saya bisa mengulang output dari perintah shell?

  3. Cara mencari halaman manual Linux (mis. Dengan grep)