¿Cómo puedo cortar con sed la siguiente propiedad tiene sólo MAC?

MAC evbyminsd58df

Me hizo esto, pero funciona en el otro lado:

sed -e 's/^.\{1\}//'

3 Comentarios

  1. 14

    Acaba de quitar todo, desde el espacio:

    $ echo "MAC evbyminsd58df" | sed 's/.*//'
    MAC

    Como usted menciona corte, puede utilizar cut seleccionar el primer campo basado en el espacio como separador:

    $ echo "MAC evbyminsd58df" | cut -d" " -f1
    MAC

    Con puro Bash, cualquiera de estos:

    $ read a _ <<< "MAC evbyminsd58df"
    $ echo "$a"
    MAC
    
    $ echo "MAC evbyminsd58df" | { read a _; echo "$a"; }
    MAC
    • Gracias. funciona bien
    • man read no muestra ninguna mención de _ que utilizó en read a _ <<< "MAC evbyminsd58df". ¿Cómo te enteraste de esto ? Donde puedo ver la explicación de _ utilizado en read comando ?
    • es cualquier nombre. Tendemos a utilizar este nombre para mostrar que es un bote variable que no va a ser utilizada. Mismo que decir read a b <<< "MAC evbyminsd58df"
    • ¿Por qué he incluso la búsqueda de este. Usted está tan a la derecha, y yo siento que no soy. Gracias.
  2. 4

    con cut (el espacio como delimitador, seleccione el primer campo):

    echo "MAC evbyminsd58df" | cut -d " " -f 1

    con awk (seleccione imprimir en el primer campo, el espacio es el delimitador predeterminado):

    echo "MAC evbyminsd58df" | awk '{print $1}' 
  3. 2

    Usar grep, como el de abajo,

    grep -o '^[^ ]\+' file

    O

    grep -o '^[^[:space:]]\+' file

    ^ Afirma que estamos en el comienzo. [^[:space:]] Negado POSIX clase de caracteres que coincide con cualquier carácter, pero no de un espacio , cero o más veces.

Dejar respuesta

Please enter your comment!
Please enter your name here