Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Possible Duplicate:
cat line X to line Y on a huge file

Very simple issue but can't seem to find a simple resolution!

I have a massive text file from which I only need around 150 lines. The lines are really long and therefore viewing it in putty is a bit of a nightmare. I just want to copy these lines to another file so that I can view it properly in an editor. (I can't view the original file in an editor as my Windows machine can't handle it).

The lines I want start at around line 2000.


share|improve this question

marked as duplicate by jw013, uther, manatwork, Renan, jasonwryan Jan 18 '13 at 20:15

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

If you have xsel installed you could use sed with xsel. sed -n '2000,2150p' youfile| xsel – McNisse Jan 18 '13 at 10:01
@McNisse Why do you need xsel? – Bernhard Jan 18 '13 at 10:07
To copy the lines directly into the clipboard. – McNisse Jan 18 '13 at 10:32
If bandwidth is not an issue, you can use editor or pager like more or less remotely. Remember to resize the PuTTY window to get some more context. – peterph Jan 18 '13 at 10:59
@McNisse "I just want to copy these lines to another file" – Bernhard Jan 18 '13 at 11:35

I have an easy shell function for it (put in .bashrc), which uses sed

printLine () 
    sed -n -e "$1p" "$2"

You can easily use it by

$ printLine 2000,2250 file

I am using the function, because I always forget the correct sed-syntax.

You want to store the output in a different file, than it is easy:

$ printLine 2000,2250 file > output
share|improve this answer
I'm using ksh (should have mentioned that) and printLine doesn't work :S – Rich Jan 18 '13 at 11:42
Sorted it... thanks to kev82 here - linuxquestions.org/questions/linux-software-2/… The following outputs lines 10 to 30... – Rich Jan 18 '13 at 11:47
head -30 text.file | tail -20 > output.file – Rich Jan 18 '13 at 11:50
@Rich ksh also supports functions, afaik, so you can probably easily port it. – Bernhard Jan 18 '13 at 12:19

If you just look for a certain token, the grep command could be useful.

cat filename | grep pattern > extractedFilename
share|improve this answer
I don't think this really answers the question. Also, why are you using cat here? – Bernhard Jan 18 '13 at 11:34

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