⇤ ← Revision 1 as of 2007-05-02 22:55:48
620
Comment:
|
618
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 |
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