Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

326
Views
Obtener las primeras 5 líneas de PID y COMMAND usando top

hola, estoy luchando para descubrir cómo obtener las 5 líneas principales de los encabezados PID y COMMAND al abrir la parte superior

en este momento estoy usando

top | awk '{print $1,$2}NR==5{exit}'

esto es obviamente molesto dándome esto:

 Processes: 390 2021/12/17 13:47:48 Load Avg: CPU usage: SharedLibs: 146M
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Con sus muestras mostradas, intente seguir el código. Dado que necesita los detalles de los 5 PID principales, imprimir las primeras 5 líneas no funcionaría aquí. Entonces, omitiendo las primeras 6 líneas en la salida de la parte superior (que son sobre los detalles del sistema).

 top -b | awk 'FNR>=7 && FNR<=12{print $1};FNR==12{exit}'

Explicación: la explicación simple del código anterior sería pasar la salida del comando top a awk como una entrada estándar. Luego, en la condición de verificación del programa awk , si el número de línea es del 7 al 12, luego imprímalo y en la línea 12 salga del programa.

Donde la definición de la opción top -b es la siguiente de man top :

b :Operación en modo por lotes Comienza arriba en el modo por lotes, lo que podría ser útil para enviar la salida desde arriba a otros programas oa un archivo. En este modo, top no aceptará entradas y se ejecutará hasta el límite de iteraciones que haya establecido con la opción de línea de comando `-n' o hasta que se elimine.

over 4 years ago · Santiago Trujillo Report

0

Otras soluciones:

top -b para el modo por lotes
top -n 1 para un solo disparo (sin bucle)

Obtener lineas

  • con --> cabeza -12 | cola -6
  • o --> awk 'FNR>=7 && FNR<=12'
  • o --> sed -n 7,12p

Imprimir PID y Comando

  • awk '{imprimir $1, $NF}'

...

 top -b|head -12|tail -6|awk '{print $1, $NF}' top -b -n 1|awk 'FNR>=7 && FNR<=12{print $1, $NF}' top -b -n 1|sed -n 7,12p|awk '{print $1, $NF}'
over 4 years ago · Santiago Trujillo Report

0

Para MAC OS X, el comando es:

 top -a -n20 | awk 'FNR>=11 && FNR<=31{print $0};FNR==31{exit}' > cpustat.txt
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!