A correspondência exata de String funciona para o grep 2.6.3, mas não para o grep 3.0

0

Estou enfrentando um problema na minha máquina com Windows com Cygwin nele.
Em uma das minhas combinações de string exata do grep da máquina usando $ works:

$ ipconfig /all | grep -A 1 'My Ethernet Server Adapter B52-2$'
   Description . . . . . . . . . . . : My Ethernet Server Adapter B52-2
   Physical Address. . . . . . . . . : ##-##-##-##-##

A versão grep desta máquina é:

$ grep -V
GNU grep 2.6.3

No entanto, o mesmo não funciona na minha outra máquina com grep 3.0 :

$ ipconfig /all | grep -A 1 'My Ethernet Server Adapter B52-2$'

A versão grep nesta máquina:

$ grep -V
grep (GNU grep) 3.0

Se eu remover $ do comando acima, obtenho os resultados, mas desejo a correspondência exata de string.
Alguém por favor pode me ajudar aqui?

Obrigado antecipadamente !!

Editar: eu já tentei grep -w , grep -o , mas não consegui a resposta esperada

    
por Bhagyesh Dudhediya 29.03.2018 / 08:38

1 resposta

1

Graças a Mikael e Kusalananda ..
Eu obtive o resultado esperado com:

ipconfig /all | sed -e 's/[[:space:]]*$//' | grep -A 1 'My Ethernet Server Adapter B52-2$'

OR

ipconfig /all | sed -e 's/\s*$//' | grep -A 1 'My Ethernet Server Adapter B52-2$'

A saída de ipconfig /all tinha espaços em branco à direita e, portanto, minha correspondência não funcionou, com sed , os espaços em branco foram removidos e, portanto, posso fazer o cálculo da string exata agora.
Obrigado!

    
por 29.03.2018 / 10:16

Tags