Nokta (.) İçeren bir kelimenin tamamı nasıl greplenir?


0

Dosyam aşağıdaki metni içeriyor

xyz.com       123  321
xyz.com.br    123  123
abcd.xyz.com  123  321

Sadece xyz.com içeren satırı grep etmek istiyorum. yani, çıktı ilk satır olmalıdır.

 xyz.com   123  321

Aşağıdaki denedim ama boşuna.

grep "^xyz.com$" file.txt
grep '^xyz.com$' file.txt
grep -w xyz.com file.txt
grep '^xyz.com$' file.txt
grep '^xyz\.com$' file.txt
grep -Fx xyz.com file.txt
grep -w 'xyz.com' file.txt
grep -w 'xyz\.com' file.txt
grep '\sxyz.com\s' file.txt
grep '\bxyz.com\b' file.txt
grep "\bxyz.com\b" file.txt
grep "\<xyz.com\>" file.txt
grep '\<xyz.com\>' file.txt
grep -w -l "xyz\.com" file.txt
grep -w "xyz\.com" file.txt
grep -wF "xyz\.com" file.txt
grep -w "xyz\.com$" file.txt
grep -w "xyz\.com\$" file.txt

Shell bash. Teşekkürler.

Yanıtlar:


0
$ grep '^xyz\.com[[:space:]]' file.txt
xyz.com      123 321
$ grep -P '^xyz\.com\s' file.txt
xyz.com      123 321

Birincisi POSIXy ile beyaz boşluk eşleştirme yöntemini kullanır, ikincisi perly yolunu kullanır, bununla belirtmeniz gerekir -P perl düzenli ifadeler kullanarak.


0

Örneğinizde, satır yalnızca xyz.com içermiyor, sayıları olan daha fazla sütun içeriyor. Bu nedenle '^xyz\.com$' işe yaramadı. Deneyin:

grep '^xyz\.com\s' file.text

Eklendi \s İfade sonunda, aranan dizeden hemen sonra bir boşluk karakteri zorlayın ve sonra diğer metne izin verin.

Yalnızca arama dizisine sahip bir satırın durumunu eklemek için şunu deneyin:

grep '^xyz\.com\(\s.*\)\?$' file.txt

Dizgiden hemen sonra satırın bitmesine izin verir, ancak başka bir durumda bir boşluk gerektirir.

Görmek regular-expressions.info Düzenli ifadeler hakkında daha fazla bilgi için.


1
Varsayılan olarak boşluk için perl sözdizimini kullanan hangi grep kullanıyorsunuz? Sadece merak...
blm

1
@blm, GNU grep 2.16 ubuntu 14.04 tarihinde
amotzg

1
Teşekkürler. Gnu grep kullanıyorum, ancak eski bir sürümü ve perl sözdizimi -P olmadan çalışmıyor. Yükseltme zamanı ...
blm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.