sed + linha de corte antes de “;” seperator

1

como executar por sed para imprimir a linha até ";" personagem

    echo "NUMBER   =   3247  FULL DUPLEX ; speed=343 434 " | sed .....

precisa da seguinte saída

NUMBER = 3247 DUPLEX COMPLETO

    
por jennifer 03.11.2010 / 14:30

2 respostas

1

Por que você não usa o awk para isso? ou seja,

echo "Number=3247 ; speed=343 434 " | awk {'print $1'}

E se você realmente precisa do "na frente, use

echo "Number=3247 ; speed=343 434 " | awk {'print "\"" $1'}

EDITAR: Após o feedback (veja os comentários abaixo), aqui a versão correta com o sed:

echo "NUMBER = 3247 FULL DUPLEX ; speed=343 434 " | sed 's/\;.*//g'

    
por 03.11.2010 / 14:33
1

Use awk com -F para especificar o delimitador de campo:

echo "NUMBER   =   3247  FULL DUPLEX ; speed=343 434 " | awk -F\; '{print $1;}'

Observe que o ponto-e-vírgula é marcado com uma barra invertida, de forma que o seu shell não interpretará mal o ponto-e-vírgula como o fim do comando.

    
por 03.11.2010 / 15:55

Tags