Size: 1833
Comment:
|
Size: 1133
Comment: -9
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
[[Anchor(faq19)]] == How can I split a file into line ranges, e.g. lines 1-10, 11-20, 21-30? == Some Unix systems provide the {{{split}}} utility for this purpose: |
|
Line 5: | Line 2: |
{{{ split --lines 10 --numeric-suffixes input.txt output- }}} |
---- /!\ '''Edit conflict - other version:''' ---- Perfect site! We're all thinking of you here and think your efforts are incredible! recipe for coho salmon Its very well ! http://redndo.8tt.org/recipe7983.html unofficeail recipe book winter, http://list21.bplaced.net/recipe8932.html california medley soup recipe water, http://rings10.bplaced.net/recipe8113.html chocolate candy cane cookies recipe felt, http://silver6.myd.net/recipe3234.html franks red hot sauce wing recipe, See you at the latest at Le Mans. ---- CategoryHomepage |
Line 9: | Line 7: |
For more flexibility you can use {{{sed}}}. The {{{sed}}} command can print e.g. the line number range 1-10: {{{ sed -n '1,10p' }}} |
---- /!\ '''Edit conflict - your version:''' ---- Perfect site! We're all thinking of you here and think your efforts are incredible! recipe for coho salmon Its very well ! http://redndo.8tt.org/recipe7983.html unofficeail recipe book winter, http://list21.bplaced.net/recipe8932.html california medley soup recipe water, http://rings10.bplaced.net/recipe8113.html chocolate candy cane cookies recipe felt, http://silver6.myd.net/recipe3234.html franks red hot sauce wing recipe, See you at the latest at Le Mans. ---- CategoryHomepage |
Line 14: | Line 12: |
This stops {{{sed}}} from printing each line ({{{-n}}}). Instead it only processes the lines in the range 1-10 ("1,10"), and prints them ("p"). {{{sed}}} still reads the input until the end, although we are only interested in lines 1 though 10. We can speed this up by making {{{sed}}} terminate immediately after printing line 10: {{{ sed -n -e '1,10p' -e '10q' }}} Now the command will quit after reading line 10 ("10q"). The {{{-e}}} arguments indicate a script (instead of a file name). The same can be written a little shorter: {{{ sed -n '1,10p;10q' }}} We can now use this to print an arbitrary range of a file (specified by line number): {{{ file=/etc/passwd range=10 firstline=1 maxlines=$(wc -l < "$file") # count number of lines while (($firstline < $maxlines)) do ((lastline=$firstline+$range+1)) sed -n -e "$firstline,${lastline}p" -e "${lastline}q" "$file" ((firstline=$firstline+$range+1)) done }}} This example uses ["BASH"] and KornShell ArithmeticExpressions, which older [wiki:Self:BourneShell Bourne shells] do not have. In that case the following example should be used instead: {{{ file=/etc/passwd range=10 firstline=1 maxlines=`wc -l < "$file"` # count line numbers while [ $firstline -le $maxlines ] do lastline=`expr $firstline + $range + 1` sed -n -e "$firstline,${lastline}p" -e "${lastline}q" "$file" firstline=`expr $lastline + 1` done }}} |
---- /!\ '''End of edit conflict''' ---- |
Edit conflict - other version:
Perfect site! We're all thinking of you here and think your efforts are incredible! recipe for coho salmon Its very well ! http://redndo.8tt.org/recipe7983.html unofficeail recipe book winter, http://list21.bplaced.net/recipe8932.html california medley soup recipe water, http://rings10.bplaced.net/recipe8113.html chocolate candy cane cookies recipe felt, http://silver6.myd.net/recipe3234.html franks red hot sauce wing recipe, See you at the latest at Le Mans.
Edit conflict - your version:
Perfect site! We're all thinking of you here and think your efforts are incredible! recipe for coho salmon Its very well ! http://redndo.8tt.org/recipe7983.html unofficeail recipe book winter, http://list21.bplaced.net/recipe8932.html california medley soup recipe water, http://rings10.bplaced.net/recipe8113.html chocolate candy cane cookies recipe felt, http://silver6.myd.net/recipe3234.html franks red hot sauce wing recipe, See you at the latest at Le Mans.
End of edit conflict