diff options
Diffstat (limited to 'sample/mpart.rb')
-rwxr-xr-x | sample/mpart.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/sample/mpart.rb b/sample/mpart.rb new file mode 100755 index 0000000000..c0f705ef8e --- /dev/null +++ b/sample/mpart.rb @@ -0,0 +1,42 @@ +#! ./ruby + +lines = 1000 + +if ($ARGV[0] =~ /^-(\d+)$/ ) + lines = $1.to_i; + $ARGV.shift; +end + +basename = $ARGV[0] +extname = "part" + +part = 1 +line = 0 + +fline = 0 +for i in ifp = open(basename) + fline = fline + 1 +end +ifp.close + +parts = fline / lines + 1 + +for i in ifp = open(basename) + if line == 0 + ofp = open(sprintf("%s.%s%02d", basename, extname, part), "w") + printf(ofp, "%s part%02d/%02d\n", basename, part, parts) + ofp.write("BEGIN--cut here--cut here\n") + end + ofp.write(i) + line = line + 1 + if line >= lines + ofp.write("END--cut here--cut here\n") + ofp.close + part = part + 1 + line = 0 + end +end +ofp.write("END--cut here--cut here\n") +ofp.close + +ifp.close |