In a Unix shell, how can I pick a single line from a text file by its line number?

Say I want whatever is at line 3 in animals.txt to be written to stdout (bat bat bat).

monkey monkey monkey
cat cat cat
bat bat bat
horse horse horse

Is there a standard program or simple way to do this?

(There's also the case where the text file does not contain enough lines to contain the line number you ask for)


This is one way:

sed -n '3p' file

Here's another:

head -n 3 file | tail -n 1
  • Thanks. Using head/tail like that didn't occur to me, for which I'm a bit ashamed :-) – xyz Sep 27 '10 at 14:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.