45

I'm looking for a bash command, which I can use to limit the number of lines of a file or another command output. E.g.

ls -thor | limit 10

would limit the output of the ls command to 10 lines (in the example, the command "limit" is naturally a imaginary command, whose equivalent I'm looking for). Is there such command, or a related solution?

1 Answer 1

69

Use head:

ls -l | head -n 15

10 lines is the default. Read the head man page for more options.

(older versions of head also support usage without the explicit -n as in head -15)

5
  • beat me to it :)
    – warren
    Commented Sep 11, 2009 at 11:18
  • Thx. I should have figured it out, it's obvious when you know that there is a "tail" command.. :)
    – simon
    Commented Sep 11, 2009 at 11:29
  • 2
    Syntax -integer is (at least in GNU version of head/tail discouraged - you should be using -n 15)
    – user7385
    Commented Sep 11, 2009 at 11:51
  • I didn't know that. Old habits die hard. I'll have to try to learn that. Commented Sep 11, 2009 at 13:49
  • 1
    The current GNU Coreutils version head accepts head -15 (but only if it's the first argument). The document describes this option as obsolete. Commented Jan 15, 2012 at 16:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .