Cygwin을 사용하는 Windows 시스템에 문제가 있습니다.
내 컴퓨터 중 하나에서 grep은 다음을 사용하여 정확한 문자열 일치를 위해 작동합니다 $
.
$ ipconfig /all | grep -A 1 'My Ethernet Server Adapter B52-2$'
Description . . . . . . . . . . . : My Ethernet Server Adapter B52-2
Physical Address. . . . . . . . . : ##-##-##-##-##
이 기계의 버전은 다음 grep
과 같습니다.
$ grep -V
GNU grep 2.6.3
그러나 이것은 다른 컴퓨터에서는 작동하지 않습니다 grep 3.0
.
$ ipconfig /all | grep -A 1 'My Ethernet Server Adapter B52-2$'
grep
기본 버전:
$ grep -V
grep (GNU grep) 3.0
위 명령에서 제거 하면 $
결과를 얻지만 정확한 문자열 일치를 원합니다.
누구든지 나를 도와줄 수 있나요?
미리 감사드립니다! !
편집: 이것을 시도했지만 예상한 답변을 얻을 수 없습니다 grep -w
.grep -o
답변1
Mikael과 Kusalananda에게 감사드립니다.
예상되는 결과를 얻었습니다.
ipconfig /all | sed -e 's/[[:space:]]*$//' | grep -A 1 'My Ethernet Server Adapter B52-2$'
또는
ipconfig /all | sed -e 's/\s*$//' | grep -A 1 'My Ethernet Server Adapter B52-2$'
출력 에 후행 공백이 있어 ipconfig /all
일치 항목이 작동하지 않습니다. sed
이제 정확한 문자열을 찾을 수 있도록 공백이 제거됩니다.
감사해요!