正確な文字列マッチングはgrep 2.6.3では機能しますが、grep 3.0では機能しません。

正確な文字列マッチングはgrep 2.6.3では機能しますが、grep 3.0では機能しません。

Cygwinを使用するWindowsシステムに問題があります。
私のコンピュータの1つでは、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 -wgrep -o

ベストアンサー1

MikaelとKusalalanandaに感謝します。
予想される結果を得た。

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これで、正しい文字列を見つけるためにスペースが削除されます。
ありがとうございます!

おすすめ記事