GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo especificar más espacios para el delimitador usando corte?

En realidad awk es exactamente la herramienta que debería estar buscando:

ps axu | grep '[j]boss' | awk '{print $5}'

o puedes deshacerte del grep en total desde awk sabe sobre expresiones regulares:

ps axu | awk '/[j]boss/ {print $5}'

Pero si, por alguna extraña razón, realmente no puedes usa awk , hay otras cosas más simples que puede hacer, como colapsar todos los espacios en blanco en un solo espacio primero:

ps axu | grep '[j]boss' | sed 's/\s\s*/ /g' | cut -d' ' -f5

Ese grep el truco, por cierto, es una buena manera de obtener solo el jboss procesos y no el grep jboss uno (lo mismo para el awk variante también).

El grep proceso tendrá un literal grep [j]boss en su comando de proceso, por lo que no será capturado por el grep en sí mismo, que busca la clase de carácter [j] seguido de boss .

Esta es una forma ingeniosa de evitar el | grep xyz | grep -v grep paradigma que algunas personas usan.


awk La versión es probablemente la mejor manera de hacerlo, pero también puede usar cut si primero aprietas las repeticiones con tr :

ps axu | grep jbos[s] | tr -s ' ' | cut -d' ' -f5
#        ^^^^^^^^^^^^   ^^^^^^^^^   ^^^^^^^^^^^^^
#              |            |             |
#              |            |       get 5th field
#              |            |
#              |        squeeze spaces
#              |
#        avoid grep itself to appear in the list

Me gusta usar el comando tr -s para esto

 ps aux | tr -s [:blank:] | cut -d' ' -f3

Esto reduce todos los espacios en blanco a 1 espacio. De esta manera, decirle a cut que use un espacio como delimitador se cumple como se esperaba.


Linux
  1. Cómo usar el comando grep de Linux

  2. Linux:¿cómo restringir el acceso a Internet para un usuario en particular en la LAN usando Iptables en Linux?

  3. ¿Cómo resaltar una palabra en la salida de "gato"?

  4. Linux:¿cómo saber qué hacer con Grep en Dmesg?

  5. Cómo buscar la palabra exacta si la cadena tiene un punto

Consejos para usar el comando superior en Linux

Cómo buscar múltiples cadenas, patrones o palabras

Cómo ejecutar Ubuntu usando el subsistema de Windows para Linux

¿Cómo escapo espacios en rutas para Scp en Linux?

Cómo eliminar el texto seleccionado en el editor vi

¿Cómo saber qué interfaz estoy usando para conectarme a Internet?