[REBOL] Line reduction
From: aroberts:swri at: 5-Jul-2001 9:15
I have written the following program to remove any arbitrary number of
lines from a file. It asks for an input file, output file, and the
number of lines to skip before deleting. If you enter a 1, it will
delete every other line. A 2 every third line. Etc. The input file is
a text data set, representing numbers. Some files are quite large (2.5
Meg or more)
Originally I tried writing it using a 'foreach/all/etc' call, but I
couldn't get it to work.
1. How could I have written this using a different method?
2. What would be the fastest way of accomplishing this? (Since the
input is all text based, would it be best to read in the values and
convert them from string to numbers before doing the deletions?)
Example data from a file:
1.093027 1.505329 0.826303
1.451725 1.226740 0.827948
1.698870 0.956003 0.829593
1.691551 0.693989 0.831238
1.792217 0.430279 0.832883
1.892038 0.167986 0.834528
1.919743 -0.092959 0.836173
--
Thank you,
Aaron Roberts
Southwest Research Institute
Advanced Simulation Technologies Section
(210)-522-5137
www.swri.org
REBOL [
TITLE: "Remove lines"
DATE: 3-July-01
]
input_file: ask "Enter the source file name: "
output_file: ask "Enter the output file name: "
skip_amount: ask "Remove lines every X line: "
datafile: read/lines to-file input_file
forskip datafile to-integer skip_amount[
remove datafile
]
datafile: head datafile
write/lines to-file output_file datafile