The functionality described in this article is not yet available. This notice will be removed when the appropriate release is made.
The gunzip statement is used to inflate a GZIP file
Syntax
gunzipfilenameasfilename
gunzip{bufferName}asfilename
Details
The gunzip statement can be used to extract the contents of a GZIP archive containing a single file. The GZIP archive may be a file on disk or may be the contents of a named buffer.
It is not possible to inflate GZIP data directly in memory, but the same effect can be achieved by extracting GZIP data in a named buffer to disk, and then loading the extracted data back into the named buffer as shown in the example below.
All paths and filenames are treated as relative to the Exivity home directory
Example
# Download an archive and extract it into a named buffer
buffer archivedata = http GET http://server/archived.csv.gz
gunzip {archivedata} as system/extracted/extracted.csv
buffer archivedata = FILE system/extracted/extracted.csv
# Download an archive and extract it to disk, automatically deriving the
# output filename from the input filename based on the .gz extension
var save_path = system/extracted
var archivefile = extracted.csv.gz
set http save_file ${save_path}/${archivefile}
match csv_name "(.*)\.gz$" ${filename}
if (${csv_name.STATUS} != MATCH) {
print WARNING: Downloaded file does not end in .gz and will not be extracted
} else {
gunzip "${save_path}/${archivefile}" as "${save_path}/${csv_name.RESULT}"
print Extracted file: "${save_path}/${csv_name.RESULT}"
}