How do I include newlines in a search in less?

16

1

How can I search for newlines (or end of lines) as part of a search using less?

For example, I'd like to search for length=9\n, but don't want to merely search for length==9 because that'd get matches for length=90\n.

I'm using GNU bash, version 4.0.33(1)-release (x86_64-pc-linux-gnu) on Ubuntu 9.10 (Karmic Koala)

I tried reading the friendly manual, but it said

/pattern

Search forward in the file for the N-th line containing the pattern. N defaults to 1. The pattern is a regular expression, as recognized by the regular expression library supplied by your system. The search starts at the second line displayed (but see the -a and -j options, which change this).

and I don't know how to RTFM beyond that.

Andrew Grimm

Posted 2010-12-19T23:55:54.430

Reputation: 2 230

1You might also find searches anchored to word boundaries to be useful. /\<length=9\> will find "length=9" that's anywhere on a line without matching "length=90" or "stringlength=9". See man 7 regex and man grep for more. – Paused until further notice. – 2010-12-20T00:46:55.227

1For those looking for an answer to the question's title: I don't believe you can include newlines in a search in less. This means that multiline searches in less do not appear to be possible. – drevicko – 2012-08-28T05:17:51.200

Answers

11

You can do:

/pattern$

The pattern replacing pattern, but the $ must stay, it tells the search to look for the pattern, and then the end of the line.

So you'd do:

/length=9$

Wuffers

Posted 2010-12-19T23:55:54.430

Reputation: 16 645