2013-04-24 20 views
11
Şu anda ancak aşağıdaki senaryoda zorluk içine çalıştırıyorum, bazı CSV dosyaları geçmesi 's/string/new_string/g' kullanıyorum

: '192.168.0.111' aitSed maçı kesin

Ben '192.168.0.11' örneklerini değiştirmek istiyor, ancak aynı zamanda alıcı oluyor örneklerini .

nasıl sadece '192.168.0.11' değil '192.168.0.111' çeken sed emin olabiliriz? Açıkçası, birçok değişken için bunu tekrarlamak zorunda kalacağım, bu yüzden kolayca ölçeklenebilir bir şey takdir edilecektir.

Teşekkürler!

+2

Geçerli sed komutu ve örnek verisini gösterebilir misiniz lütfen – suspectus

cevap

19

Ben kullandığınız düzenli ifade ne olduğundan emin değilim, ancak '192.168.0.11' arasında tam bir eşleşme istiyorsanız kullanabilirsiniz: s/\<192\.168\.0\.11\>//g

\<\> kuvvet tam bir eşleşme.

+0

Mükemmel, teşekkürler – Numpty

+3

'.' herhangi bir karakterle eşleştiğini, yani 192.168.0.11'in 192.168.05.1 ile eşleşeceğini unutmayın. Ayrıca ters eğik çizgi ile nokta anlatmalısın ('$ sed 's/\ <192 \ .168 \ .0 \ 0,11 \> // g''). – bobbogo

+0

mükemmel catch @bobbogo, yanıtımı yansıtacak şekilde güncelliyorum. – dave