Bir grep modelinde \ b ne anlama geliyor?


12

Bu komut ne yapar?

grep "\bi\b" linux.txt

Ne arıyor?


Açık olabilir, ancak değilse, işte \<...\>ve arasındaki (önemli) fark hakkında bir not \b...\b: `` İki desenin aynı şekilde davrandığını varsayarsanız, beklenmedik sonuçlar alabilirsiniz ... bu bağlantıya
Peter. Ey

Yanıtlar:


13

\b düzenli bir ifadede "kelime sınırı" anlamına gelir.

Bu grep komutuyla, idosyadaki tüm kelimeleri arıyorsunuz linux.txt. isatırın başında veya sonunda ya da bir cümledeki iki boşluk karakteri arasında olabilir.


başında veya sonunda olabilir ?? sadece boşluklar arasında olması gerekmez ??
amyassin

1
Bununla ilgili daha fazla ayrıntı bulamıyorum. Ancak "i foo" ve "bar i" satırlarını içeren bir dosya ile el ile çalışırken, yukarıdaki grep komutuna sağlanan normal ifade her ikisiyle de eşleşir.
uloBasEI

1
Daha doğrusu, sadece boşluk değil , herhangi bir kelime olmayan karakter . Tıpkı -w --word-regexpanahtar yapar: grep -w "i" linux.txt. Örneğin, "<i> italik </i>" gibi bir çizgi de eşleşir.
manatwork

0

\b(Kelime sınır) çapa yerine kullanılabilecek \<ve \>bir sözcüğün başlangıcı veya sonunu belirtmek için.

Şunun içeriği file:

Hi
this
is test file
to carry out few regular expressions

Sonra:

$ grep -e '\ breg' dosyası
Birkaç yürütmek için reg ular ifadeleri
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.