アルファベット以外の文字を含む文字列と正確に一致するものを見つける方法は?

アルファベット以外の文字を含む文字列と正確に一致するものを見つける方法は?

したがって、以下のgrepは2行に一致します。

grep -w 1.2.3.4 testfile.csv 
1.2.3.4,Jim,Jonson,000000
1.2.3.4.5,George,Doe,FFFFF

正確に一致し、特定の単語だけを一致させるにはどうすればよいですか?この例でのみ可能です1.2.3.4
最初またはカンマ区切り文字の横にスペースがある可能性があるとします。可能であれば、これがクロスプラットフォームのgrepであることを願っています。

ベストアンサー1

指摘したとおりドンクリスティコメントに。あなたの場合、問題は一致させるパターンが1.2.3.4一致することです。いいえ条件に合った単語マッチング-w

grepGNUがサポートしている場合は、PCREモードを使用してください。肯定的な予測を使用してください

grep -P '^1\.2\.3\.4(?=,)' file

または推奨通り山ディップPCREを使わずにやってみてください

grep '^1\.2\.3\.4,' file

また、より正確な文字列照合のためにawk簡単に実行できます。

awk -F, -v var="1.2.3.4" '$1==var' file

おすすめ記事