Differences between revisions 1 and 2
Revision 1 as of 2007-05-02 22:55:48
Size: 620
Editor: redondos
Comment:
Revision 2 as of 2007-05-07 19:21:58
Size: 618
Editor: GreyCat
Comment: small clean-up
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
The dirty (but not quick) way would be {{{sed -n ${n}p "$file"}}} but this reads the whole input file, even if you only wanted the third line. The dirty (but not quick) way would be:
{{{
    
sed -n ${n}p "$file"
}}}
Line 5: Line 8:
The following {{{sed}}} command line reads a file printing nothing (-n). At line $n the command "p" is run, printing it, with a "q" afterwards: quit the program. but this reads the whole input file, even if you only wanted the third line.
Line 7: Line 10:
This one avoids that problem:
Line 11: Line 15:
Another way, more obvious to some, is to grab the last line from a listing of the first n lines: At line $n the command "p" is run, printing it, with a "q" afterwards: quit the program.

Another way, more obvious to some, is to grab the last line from a listing of the first ''n'' lines:
Line 16: Line 22:
Using awk: Another approach, using ["AWK"]:
Line 18: Line 24:
   awk 'NR==n{print;exit}' file    awk "NR==$n{print;exit}" file

Anchor(faq11)

How can I print the n'th line of a file?

The dirty (but not quick) way would be:

    sed -n ${n}p "$file"

but this reads the whole input file, even if you only wanted the third line.

This one avoids that problem:

    sed -n "$n{p;q;}" "$file"

At line $n the command "p" is run, printing it, with a "q" afterwards: quit the program.

Another way, more obvious to some, is to grab the last line from a listing of the first n lines:

   head -n $n $file | tail -n 1 

Another approach, using ["AWK"]:

   awk "NR==$n{print;exit}" file

BashFAQ/011 (last edited 2020-05-07 08:35:17 by intranet)