Jak dołączyć nowe wiersze do wyszukiwania w mniejszej liczbie?

16

Jak mogę wyszukać nowe linie (lub koniec linii) w ramach wyszukiwania, używając mniej?

Na przykład chciałbym szukać length=9\n, ale nie chcę po prostu wyszukiwać, length==9ponieważ uzyskałbym pasujące wyniki length=90\n.

Używam GNU bash, wersja 4.0.33 (1) -release (x86_64-pc-linux-gnu) na Ubuntu 9.10 (Karmic Koala)

Próbowałem przeczytać przyjazną instrukcję, ale napisała

/pattern

Wyszukaj w pliku N-ty wiersz zawierający wzorzec. N domyślnie wynosi 1. Wzorzec jest wyrażeniem regularnym, rozpoznawanym przez bibliotekę wyrażeń regularnych dostarczoną przez twój system. Wyszukiwanie rozpoczyna się w drugim wyświetlonym wierszu (ale zobacz opcje -a i -j, które to zmieniają).

i nie wiem jak RTFM poza tym.

Andrew Grimm
źródło
1
Przydatne mogą być również wyszukiwania zakotwiczone w granicach słów. /\<length=9\>znajdzie „długość = 9” w dowolnym miejscu linii bez dopasowania „długość = 90” lub „stringlength = 9”. Zobacz man 7 regexi man grepwięcej.
Wstrzymano do odwołania.
1
Dla tych, którzy szukają odpowiedzi na tytuł pytania: Nie sądzę, że możesz w mniejszym stopniu uwzględnić nowe wiersze w wyszukiwaniu. Oznacza to, że wyszukiwanie multilinii w mniejszej ilości nie wydaje się możliwe.
drevicko

Odpowiedzi:

11

Możesz to zrobić:

/pattern$

Wzór zastępuje pattern, ale $musi pozostać, każe wyszukiwaniu szukać wzoru, a następnie końca linii.

Więc zrobiłbyś:

/length=9$
Wuffers
źródło