221

I've found one way so far: less +G filename, but it scrolls up line-by-line only with .

What's a more powerful less usage which provides scrolling by page, backward pattern search, and so on?

Paul
  • 3,278
yetanothercoder
  • 2,315
  • 2
  • 14
  • 6

11 Answers11

288

I'm sure someone else has a better answer, but

With "less" after you've opened the file:

G goes to the bottom of the file

^b goes up one page

? searches backwards.

As you said, you can open the file with +G and then use ? and ^b to scroll up. There are likely clever awk things you can do to achieve the same thing in a script.

chris
  • 12,104
104

For variety, if you actually want/need to read a file backwards (last line first):

tac filename | less
13

use:

less +F /path/to/your/file

that's less but starting from the bottom. Also, with +F, if the file is being written to while you are using less, that additional content gets output. This can be useful for logs.

Use the up arrow key to go backwards line by line or ctl+b to go page by page.

8

w goes up by page. ? does reverse search. h brings up online help.

4

tail -r | less

I don't know why anyone didn't think of this one. Tail grabs the end of a file really easy. Is -r not a common option?

4

I'm surprised nobody brought this up before, but:

?pattern searches for pattern backwards.

N finds the previous match of the pattern (that is, searching backwards).

For reference, /pattern searches for pattern forward and n finds the next match of the pattern. That's the way the search is commonly used.

dr_
  • 1,135
2

While using more or journalctl -xe using space bar takes you 1 page down. That worked for me. Hope this helps.

1

Another alternative, after you have started less on a file:

alt + "end-key"

With "end-key" I mean the key that is usually located below the "home-key" on a keyboard.

ria
  • 111
0

Open the file straight to the end (+G) with less +G path/to/filename.

It will automatically start "calculating line numbers." If the file is huge (ex: many GiB), press Ctrl + C to stop that, since it could take forever.

Now, here are some keys to navigate:

  1. Up Arrow = scroll one line up
  2. Down Arrow = scroll one line down
  3. u = scroll a half page up
  4. d = scroll a half page down
  5. PageUp = scroll a full page up
  6. PageDown = scroll a full page down
  7. Use / to search forwards, pressing n to go to the next match down, and Shift + n to go to the next match up.
  8. Use ? to search backwards, pressing n to go to the next match up, and Shift + n to go to the next match down.

References

  1. The question itself, which reminded me of less +G filename to open the file straight to the end.
  2. This answer.
  3. My own knowledge.
  4. man less
-1

If you're looking for something specific, this might do it:

cat yourfile.txt | grep "something specific" | less

I use it for searching log files. It's still in the 'wrong' order though, but much shorter.

After reading Dennis Williamson's answer, that's my new method =)

Rudie
  • 347
-1

Perhaps some people did not understood what dr01 meant. I try to put it in other words.

  • Open the file in less
  • Forward search: Enter the key /
  • Backward search: Enter the key ?
  • For both of the preceding: Enter your search term now
  • Press enter
  • Press n to search for the next finding
  • Press N to search for the previous finding
keocra
  • 99
  • 1