Come posso includere newline in una ricerca in meno?


16

Come posso cercare newline (o fine delle righe) come parte di una ricerca usando meno?

Ad esempio, mi piacerebbe cercare length=9\n, ma non voglio limitarmi a cercare length==9perché otterrebbero corrispondenze length=90\n.

Sto usando GNU bash, versione 4.0.33 (1) -release (x86_64-pc-linux-gnu) su Ubuntu 9.10 (Karmic Koala)

Ho provato a leggere il manuale amichevole, ma diceva

/pattern

Cerca in avanti nel file la N-esima riga contenente il modello. Per impostazione predefinita, N è 1. Il modello è un'espressione regolare, come riconosciuto dalla libreria di espressioni regolari fornita dal sistema. La ricerca inizia alla seconda riga visualizzata (ma vedere le opzioni -a e -j, che cambiano questa).

e non so come RTFM oltre a quello.


1
Potresti anche trovare utili le ricerche ancorate ai confini delle parole. /\<length=9\>troverà "lunghezza = 9" che è ovunque su una linea senza corrispondere "lunghezza = 90" o "stringlength = 9". Vedi man 7 regexe man grepper di più.
In pausa fino a ulteriore avviso.

1
Per coloro che cercano una risposta al titolo della domanda: non credo che tu possa includere newline in una ricerca in meno. Ciò significa che le ricerche multilinea in meno non sembrano essere possibili.
drevicko,

Risposte:


11

Tu puoi fare:

/pattern$

La sostituzione del motivo pattern, ma $deve rimanere, indica alla ricerca di cercare il motivo, quindi la fine della linea.

Quindi faresti:

/length=9$
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.