Skip to content

Instantly share code, notes, and snippets.

@hrwgc
Created October 20, 2012 15:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hrwgc/3923560 to your computer and use it in GitHub Desktop.
Save hrwgc/3923560 to your computer and use it in GitHub Desktop.
Scrape University of Arizona HiRise FTP archive for metadata files
#!/bin/bash
## Usage: ./hirise.sh
## This is a self-contained script to scrape the University of Arizona's HiRise imaging experiment FTP archive. it generates a single file (FILES.txt) containing urls for each Mars image in the archive. This makes it easier to programatically access the metadata .LBL files and ultimately, the source images (.jp2).
declare -a DIRECTORIES=('ORB_011200_011299' 'ORB_011300_011399' 'ORB_011400_011499' 'ORB_011500_011599' 'ORB_011600_011699' 'ORB_011700_011799' 'ORB_011800_011899' 'ORB_011900_011999' 'ORB_012000_012099' 'ORB_012100_012199' 'ORB_012200_012299' 'ORB_012300_012399' 'ORB_012400_012499' 'ORB_012500_012599' 'ORB_012600_012699' 'ORB_012700_012799' 'ORB_012800_012899' 'ORB_012900_012999' 'ORB_013000_013099' 'ORB_013100_013199' 'ORB_013200_013299' 'ORB_013300_013399' 'ORB_013400_013499' 'ORB_013500_013599' 'ORB_013600_013699' 'ORB_013700_013799' 'ORB_013800_013899' 'ORB_013900_013999' 'ORB_014000_014099' 'ORB_014100_014199' 'ORB_014200_014299' 'ORB_014300_014399' 'ORB_014400_014499' 'ORB_015800_015899' 'ORB_015900_015999' 'ORB_016000_016099' 'ORB_016100_016199' 'ORB_016200_016299' 'ORB_016300_016399' 'ORB_016400_016499' 'ORB_016500_016599' 'ORB_016600_016699' 'ORB_016700_016799' 'ORB_016800_016899' 'ORB_016900_016999' 'ORB_017000_017099' 'ORB_017100_017199' 'ORB_017200_017299' 'ORB_017300_017399' 'ORB_017400_017499' 'ORB_017500_017599' 'ORB_017600_017699' 'ORB_017700_017799' 'ORB_017800_017899' 'ORB_017900_017999' 'ORB_018000_018099' 'ORB_018100_018199' 'ORB_018200_018299' 'ORB_018300_018399' 'ORB_018400_018499' 'ORB_018500_018599' 'ORB_018600_018699' 'ORB_018700_018799' 'ORB_018800_018899' 'ORB_018900_018999' 'ORB_019000_019099' 'ORB_019100_019199' 'ORB_019200_019299' 'ORB_019300_019399' 'ORB_019400_019499' 'ORB_019500_019599' 'ORB_019600_019699' 'ORB_019700_019799' 'ORB_019800_019899' 'ORB_019900_019999' 'ORB_020000_020099' 'ORB_020100_020199' 'ORB_020200_020299' 'ORB_020300_020399' 'ORB_020400_020499' 'ORB_020500_020599' 'ORB_020600_020699' 'ORB_020700_020799' 'ORB_020800_020899' 'ORB_020900_020999' 'ORB_021400_021499' 'ORB_021500_021599' 'ORB_021600_021699' 'ORB_021700_021799' 'ORB_021800_021899' 'ORB_021900_021999' 'ORB_022000_022099' 'ORB_022100_022199' 'ORB_022200_022299' 'ORB_022300_022399' 'ORB_022400_022499' 'ORB_022500_022599' 'ORB_022600_022699' 'ORB_022700_022799' 'ORB_022800_022899' 'ORB_022900_022999' 'ORB_023000_023099' 'ORB_023100_023199' 'ORB_023200_023299' 'ORB_023300_023399' 'ORB_023400_023499' 'ORB_023500_023599' 'ORB_023600_023699' 'ORB_023700_023799' 'ORB_023800_023899' 'ORB_023900_023999' 'ORB_024000_024099' 'ORB_024100_024199' 'ORB_024200_024299' 'ORB_024300_024399' 'ORB_024400_024499' 'ORB_024500_024599' 'ORB_024600_024699' 'ORB_024700_024799' 'ORB_024800_024899' 'ORB_024900_024999' 'ORB_025000_025099' 'ORB_025100_025199' 'ORB_025200_025299' 'ORB_025300_025399' 'ORB_025400_025499' 'ORB_025500_025599' 'ORB_025600_025699' 'ORB_025700_025799' 'ORB_025800_025899' 'ORB_025900_025999' 'ORB_026000_026099' 'ORB_026100_026199' 'ORB_026200_026299' 'ORB_026300_026399' 'ORB_026400_026499' 'ORB_026500_026599' 'ORB_026600_026699' 'ORB_026700_026799' 'ORB_026800_026899' 'ORB_026900_026999' 'ORB_027000_027099' 'ORB_027100_027199' 'ORB_027200_027299' 'ORB_027300_027399' 'ORB_027400_027499' 'ORB_027500_027599' 'ORB_027600_027699' 'ORB_027700_027799' 'ORB_027800_027899' 'ORB_027900_027999' 'ORB_028000_028099' 'ORB_028100_028199' 'ORB_028200_028299' 'ORB_028300_028399' 'ORB_028400_028499' 'ORB_028500_028599' 'ORB_028600_028699' 'ORB_028700_028799' 'ORB_028800_028899' 'ORB_028900_028999' 'ORB_029000_029099/');
for DIRECTORY in ${DIRECTORIES[@]}; do
BASE="http://hirise-pds.lpl.arizona.edu/PDS/RDR/ESP"
SUBDIR=${DIRECTORY};
wget \
--user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" \
-qO- \
${BASE}/${SUBDIR}/ | \
tr \" \' | sed -nE "s~^[^<]*<a href='([^']+)'.*$~${BASE}/${SUBDIR}/\1~p" >> $SUBDIR.txt && \
cat ${SUBDIR}.txt | while read LINE; do
BASE_LEVEL_2=$(echo $LINE | sed -E 's~^(http://.*)/([^/]+)/$~\1~g');
SUB_LEVEL_2=$(echo $LINE | sed -E 's~^(http://.*)/([^/]+)/$~\2~g');
echo "${BASE}/${SUBDIR} -------> ${BASE_LEVEL_2}/${SUB_LEVEL_2}";
wget \
--user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" \
-qO- \
$LINE | \
tr \" \' | \
sed \
-nE \
"s~^[^<]*<a href='([^']+)'.*$~${BASE_LEVEL_2}/${SUB_LEVEL_2}/\1~p" >> FILES.txt && \
done
rm ${SUBDIR}.txt;
done
#!/bin/bash
let ACTIVE=0
mkdir -p TMP;
echo "pds_version_id;not_applicable_constant;data_set_id;data_set_name;producer_institution_name;producer_id;producer_full_name;observation_id;product_id;product_version_id;instrument_host_name;instrument_host_id;instrument_name;instrument_id;target_name;mission_phase_name;orbit_number;source_product_id;rationale_desc;software_name;data_set_map_projection;map_projection_type;projection_latitude_type;a_axis_radius;b_axis_radius;c_axis_radius;coordinate_system_name;positive_longitude_direction;keyword_latitude_type;center_latitude;center_longitude;line_first_pixel;line_last_pixel;sample_first_pixel;sample_last_pixel;map_projection_rotation;map_resolution;map_scale;maximum_latitude;minimum_latitude;line_projection_offset;sample_projection_offset;easternmost_longitude;westernmost_longitude;mroobservation_start_time;start_time;spacecraft_clock_start_count;stop_time;spacecraft_clock_stop_count;product_creation_time;mroccd_flag;mrobinning;mrotdi;mrospecial_processing_flag;incidence_angle;emission_angle;phase_angle;local_time;solar_longitude;sub_solar_azimuth;north_azimuth;record_type;encoding_type;encoding_type_version_name;interchange_format;uncompressed_file_name;required_storage_bytes;record_type;record_bytes;file_records;image;lines;line_samples;bands;sample_type;sample_bits;sample_bit_mask;scaling_factor;offset;band_storage_type;core_null;core_low_repr_saturation;core_low_instr_saturation;core_high_repr_saturation;core_high_instr_saturation;center_filter_wavelength;mrominimum_stretch;mromaximum_stretch;filter_name;geometry;url" > MANUAL.csv;
ls -1 LBL/ | while read FILENAME; do
(MAX_LAT=$(cat LBL/${FILENAME} | \
sed -nE 's~.*MAXIMUM_LATITUDE[^0-9]+([-0-9.]+)[ <].*$~\1~p');
MIN_LAT=$(cat LBL/${FILENAME} | \
sed -nE 's~.*MINIMUM_LATITUDE[^0-9]+([-0-9.]+)[ <].*$~\1~p');
EAST=$(cat LBL/${FILENAME} | \
sed -nE 's~.*EASTERNMOST_LONGITUDE[^0-9]+([-0-9.]+)[ <].*$~\1~p');
WEST=$(cat LBL/${FILENAME} | \
sed -nE 's~.*WESTERNMOST_LONGITUDE[^0-9]+([-0-9.]+)[ <].*$~\1~p');
ID=$(cat LBL/${FILENAME} | \
sed -nE 's~.*PRODUCT_ID[^=]+= "([^"]+)".*$~\1~p');
PDS_VERSION_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PDS_VERSION_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
NOT_APPLICABLE_CONSTANT=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}NOT_APPLICABLE_CONSTANT[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
DATA_SET_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}DATA_SET_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
DATA_SET_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}DATA_SET_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PRODUCER_INSTITUTION_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PRODUCER_INSTITUTION_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PRODUCER_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PRODUCER_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PRODUCER_FULL_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PRODUCER_FULL_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
OBSERVATION_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}OBSERVATION_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PRODUCT_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PRODUCT_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PRODUCT_VERSION_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PRODUCT_VERSION_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
INSTRUMENT_HOST_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}INSTRUMENT_HOST_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
INSTRUMENT_HOST_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}INSTRUMENT_HOST_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
INSTRUMENT_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}INSTRUMENT_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
INSTRUMENT_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}INSTRUMENT_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
TARGET_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}TARGET_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MISSION_PHASE_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MISSION_PHASE_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
ORBIT_NUMBER=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}ORBIT_NUMBER[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SOURCE_PRODUCT_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SOURCE_PRODUCT_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
RATIONALE_DESC=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}RATIONALE_DESC[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SOFTWARE_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SOFTWARE_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
DATA_SET_MAP_PROJECTION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}DATA_SET_MAP_PROJECTION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MAP_PROJECTION_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MAP_PROJECTION_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PROJECTION_LATITUDE_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PROJECTION_LATITUDE_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
A_AXIS_RADIUS=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}A_AXIS_RADIUS[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
B_AXIS_RADIUS=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}B_AXIS_RADIUS[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
C_AXIS_RADIUS=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}C_AXIS_RADIUS[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
COORDINATE_SYSTEM_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}COORDINATE_SYSTEM_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
POSITIVE_LONGITUDE_DIRECTION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}POSITIVE_LONGITUDE_DIRECTION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
KEYWORD_LATITUDE_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}KEYWORD_LATITUDE_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CENTER_LATITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CENTER_LATITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CENTER_LONGITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CENTER_LONGITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
LINE_FIRST_PIXEL=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}LINE_FIRST_PIXEL[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
LINE_LAST_PIXEL=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}LINE_LAST_PIXEL[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SAMPLE_FIRST_PIXEL=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SAMPLE_FIRST_PIXEL[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SAMPLE_LAST_PIXEL=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SAMPLE_LAST_PIXEL[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MAP_PROJECTION_ROTATION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MAP_PROJECTION_ROTATION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MAP_RESOLUTION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MAP_RESOLUTION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MAP_SCALE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MAP_SCALE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MAXIMUM_LATITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MAXIMUM_LATITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MINIMUM_LATITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MINIMUM_LATITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
LINE_PROJECTION_OFFSET=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}LINE_PROJECTION_OFFSET[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SAMPLE_PROJECTION_OFFSET=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SAMPLE_PROJECTION_OFFSET[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
EASTERNMOST_LONGITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}EASTERNMOST_LONGITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
WESTERNMOST_LONGITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}WESTERNMOST_LONGITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROOBSERVATION_START_TIME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:OBSERVATION_START_TIME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
START_TIME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}START_TIME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SPACECRAFT_CLOCK_START_COUNT=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SPACECRAFT_CLOCK_START_COUNT[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
STOP_TIME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}STOP_TIME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SPACECRAFT_CLOCK_STOP_COUNT=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SPACECRAFT_CLOCK_STOP_COUNT[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PRODUCT_CREATION_TIME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PRODUCT_CREATION_TIME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROCCD_FLAG=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:CCD_FLAG[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROBINNING=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:BINNING[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROTDI=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:TDI[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROSPECIAL_PROCESSING_FLAG=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:SPECIAL_PROCESSING_FLAG[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
INCIDENCE_ANGLE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}INCIDENCE_ANGLE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
EMISSION_ANGLE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}EMISSION_ANGLE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PHASE_ANGLE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PHASE_ANGLE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
LOCAL_TIME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}LOCAL_TIME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SOLAR_LONGITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SOLAR_LONGITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SUB_SOLAR_AZIMUTH=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SUB_SOLAR_AZIMUTH[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
NORTH_AZIMUTH=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}NORTH_AZIMUTH[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
RECORD_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}RECORD_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
ENCODING_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}ENCODING_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
ENCODING_TYPE_VERSION_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}ENCODING_TYPE_VERSION_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
INTERCHANGE_FORMAT=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}INTERCHANGE_FORMAT[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
UNCOMPRESSED_FILE_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}UNCOMPRESSED_FILE_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
REQUIRED_STORAGE_BYTES=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}REQUIRED_STORAGE_BYTES[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
RECORD_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}RECORD_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
RECORD_BYTES=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}RECORD_BYTES[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
FILE_RECORDS=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}FILE_RECORDS[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
IMAGE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}IMAGE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
LINES=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}LINES[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
LINE_SAMPLES=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}LINE_SAMPLES[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
BANDS=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}BANDS[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SAMPLE_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SAMPLE_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SAMPLE_BITS=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SAMPLE_BITS[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SAMPLE_BIT_MASK=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SAMPLE_BIT_MASK[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SCALING_FACTOR=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SCALING_FACTOR[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
OFFSET=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}OFFSET[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
BAND_STORAGE_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}BAND_STORAGE_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CORE_NULL=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CORE_NULL[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CORE_LOW_REPR_SATURATION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CORE_LOW_REPR_SATURATION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CORE_LOW_INSTR_SATURATION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CORE_LOW_INSTR_SATURATION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CORE_HIGH_REPR_SATURATION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CORE_HIGH_REPR_SATURATION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CORE_HIGH_INSTR_SATURATION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CORE_HIGH_INSTR_SATURATION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CENTER_FILTER_WAVELENGTH=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CENTER_FILTER_WAVELENGTH[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROMINIMUM_STRETCH=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:MINIMUM_STRETCH[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROMAXIMUM_STRETCH=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:MAXIMUM_STRETCH[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
FILTER_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}FILTER_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
DATA_ROW=$(echo "${PDS_VERSION_ID};${NOT_APPLICABLE_CONSTANT};${DATA_SET_ID};${DATA_SET_NAME};${PRODUCER_INSTITUTION_NAME};${PRODUCER_ID};${PRODUCER_FULL_NAME};${OBSERVATION_ID};${PRODUCT_ID};${PRODUCT_VERSION_ID};${INSTRUMENT_HOST_NAME};${INSTRUMENT_HOST_ID};${INSTRUMENT_NAME};${INSTRUMENT_ID};${TARGET_NAME};${MISSION_PHASE_NAME};${ORBIT_NUMBER};${SOURCE_PRODUCT_ID};${RATIONALE_DESC};${SOFTWARE_NAME};${DATA_SET_MAP_PROJECTION};${MAP_PROJECTION_TYPE};${PROJECTION_LATITUDE_TYPE};${A_AXIS_RADIUS};${B_AXIS_RADIUS};${C_AXIS_RADIUS};${COORDINATE_SYSTEM_NAME};${POSITIVE_LONGITUDE_DIRECTION};${KEYWORD_LATITUDE_TYPE};${CENTER_LATITUDE};${CENTER_LONGITUDE};${LINE_FIRST_PIXEL};${LINE_LAST_PIXEL};${SAMPLE_FIRST_PIXEL};${SAMPLE_LAST_PIXEL};${MAP_PROJECTION_ROTATION};${MAP_RESOLUTION};${MAP_SCALE};${MAXIMUM_LATITUDE};${MINIMUM_LATITUDE};${LINE_PROJECTION_OFFSET};${SAMPLE_PROJECTION_OFFSET};${EASTERNMOST_LONGITUDE};${WESTERNMOST_LONGITUDE};${MROOBSERVATION_START_TIME};${START_TIME};${SPACECRAFT_CLOCK_START_COUNT};${STOP_TIME};${SPACECRAFT_CLOCK_STOP_COUNT};${PRODUCT_CREATION_TIME};${MROCCD_FLAG};${MROBINNING};${MROTDI};${MROSPECIAL_PROCESSING_FLAG};${INCIDENCE_ANGLE};${EMISSION_ANGLE};${PHASE_ANGLE};${LOCAL_TIME};${SOLAR_LONGITUDE};${SUB_SOLAR_AZIMUTH};${NORTH_AZIMUTH};${RECORD_TYPE};${ENCODING_TYPE};${ENCODING_TYPE_VERSION_NAME};${INTERCHANGE_FORMAT};${UNCOMPRESSED_FILE_NAME};${REQUIRED_STORAGE_BYTES};${RECORD_TYPE};${RECORD_BYTES};${FILE_RECORDS};${IMAGE};${LINES};${LINE_SAMPLES};${BANDS};${SAMPLE_TYPE};${SAMPLE_BITS};${SAMPLE_BIT_MASK};${SCALING_FACTOR};${OFFSET};${BAND_STORAGE_TYPE};${CORE_NULL};${CORE_LOW_REPR_SATURATION};${CORE_LOW_INSTR_SATURATION};${CORE_HIGH_REPR_SATURATION};${CORE_HIGH_INSTR_SATURATION};${CENTER_FILTER_WAVELENGTH};${MROMINIMUM_STRETCH};${MROMAXIMUM_STRETCH};${FILTER_NAME};POLYGON((${WEST} ${MAX_LAT},${EAST} ${MAX_LAT},${EAST} ${MIN_LAT},${WEST} ${MIN_LAT},${WEST} ${MAX_LAT}));${LINE}" | \
sed -E 's~[[:space:]]{0,};[[:space:]]{0,}~;~g' | \
tr -d '\n' | \
perl -i -pe 's~\s{1,}~ ~smg');
echo "$DATA_ROW" > TMP/${FILENAME%.LBL}.csv) &
let ACTIVE=$ACTIVE+1
if [ "$ACTIVE" -eq "6" ]; then
wait
let ACTIVE=0
fi
done
#!/bin/bash
### Run this after to download and extract the geometry bounding boxes from the image metadata files.
let ACTIVE=0
echo "pds_version_id;not_applicable_constant;data_set_id;data_set_name;producer_institution_name;producer_id;producer_full_name;observation_id;product_id;product_version_id;instrument_host_name;instrument_host_id;instrument_name;instrument_id;target_name;mission_phase_name;orbit_number;source_product_id;rationale_desc;software_name;data_set_map_projection;map_projection_type;projection_latitude_type;a_axis_radius;b_axis_radius;c_axis_radius;coordinate_system_name;positive_longitude_direction;keyword_latitude_type;center_latitude;center_longitude;line_first_pixel;line_last_pixel;sample_first_pixel;sample_last_pixel;map_projection_rotation;map_resolution;map_scale;maximum_latitude;minimum_latitude;line_projection_offset;sample_projection_offset;easternmost_longitude;westernmost_longitude;mroobservation_start_time;start_time;spacecraft_clock_start_count;stop_time;spacecraft_clock_stop_count;product_creation_time;mroccd_flag;mrobinning;mrotdi;mrospecial_processing_flag;incidence_angle;emission_angle;phase_angle;local_time;solar_longitude;sub_solar_azimuth;north_azimuth;record_type;encoding_type;encoding_type_version_name;interchange_format;uncompressed_file_name;required_storage_bytes;record_type;record_bytes;file_records;image;lines;line_samples;bands;sample_type;sample_bits;sample_bit_mask;scaling_factor;offset;band_storage_type;core_null;core_low_repr_saturation;core_low_instr_saturation;core_high_repr_saturation;core_high_instr_saturation;center_filter_wavelength;mrominimum_stretch;mromaximum_stretch;filter_name;geometry;url" > DATA.csv;
cat FILES.txt | sed -nE 's~^(.*.LBL)$~\1~p' > LABEL_FILES.txt;
cat LABEL_FILES.txt | while read LINE; do
(URL=$(echo $LINE | sed -nE 's~^(http://.*)/([^/]+.LBL)$~\1/\2~p');
FILENAME=$(echo $LINE | sed -nE 's~^(http://.*)/([^/]+.LBL)$~\2~p');
mkdir -p LBL;
wget \
--user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" \
--referer="http://jpl.nasa.gov" \
${LINE} && \
mv ${FILENAME} LBL/${FILENAME};
MAX_LAT=$(cat LBL/${FILENAME} | \
sed -nE 's~.*MAXIMUM_LATITUDE[^0-9]+([-0-9.]+)[ <].*$~\1~p');
MIN_LAT=$(cat LBL/${FILENAME} | \
sed -nE 's~.*MINIMUM_LATITUDE[^0-9]+([-0-9.]+)[ <].*$~\1~p');
EAST=$(cat LBL/${FILENAME} | \
sed -nE 's~.*EASTERNMOST_LONGITUDE[^0-9]+([-0-9.]+)[ <].*$~\1~p');
WEST=$(cat LBL/${FILENAME} | \
sed -nE 's~.*WESTERNMOST_LONGITUDE[^0-9]+([-0-9.]+)[ <].*$~\1~p');
ID=$(cat LBL/${FILENAME} | \
sed -nE 's~.*PRODUCT_ID[^=]+= "([^"]+)".*$~\1~p');
PDS_VERSION_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PDS_VERSION_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
NOT_APPLICABLE_CONSTANT=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}NOT_APPLICABLE_CONSTANT[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
DATA_SET_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}DATA_SET_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
DATA_SET_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}DATA_SET_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PRODUCER_INSTITUTION_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PRODUCER_INSTITUTION_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PRODUCER_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PRODUCER_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PRODUCER_FULL_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PRODUCER_FULL_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
OBSERVATION_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}OBSERVATION_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PRODUCT_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PRODUCT_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PRODUCT_VERSION_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PRODUCT_VERSION_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
INSTRUMENT_HOST_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}INSTRUMENT_HOST_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
INSTRUMENT_HOST_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}INSTRUMENT_HOST_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
INSTRUMENT_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}INSTRUMENT_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
INSTRUMENT_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}INSTRUMENT_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
TARGET_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}TARGET_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MISSION_PHASE_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MISSION_PHASE_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
ORBIT_NUMBER=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}ORBIT_NUMBER[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SOURCE_PRODUCT_ID=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SOURCE_PRODUCT_ID[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
RATIONALE_DESC=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}RATIONALE_DESC[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SOFTWARE_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SOFTWARE_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
DATA_SET_MAP_PROJECTION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}DATA_SET_MAP_PROJECTION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MAP_PROJECTION_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MAP_PROJECTION_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PROJECTION_LATITUDE_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PROJECTION_LATITUDE_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
A_AXIS_RADIUS=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}A_AXIS_RADIUS[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
B_AXIS_RADIUS=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}B_AXIS_RADIUS[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
C_AXIS_RADIUS=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}C_AXIS_RADIUS[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
COORDINATE_SYSTEM_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}COORDINATE_SYSTEM_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
POSITIVE_LONGITUDE_DIRECTION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}POSITIVE_LONGITUDE_DIRECTION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
KEYWORD_LATITUDE_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}KEYWORD_LATITUDE_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CENTER_LATITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CENTER_LATITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CENTER_LONGITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CENTER_LONGITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
LINE_FIRST_PIXEL=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}LINE_FIRST_PIXEL[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
LINE_LAST_PIXEL=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}LINE_LAST_PIXEL[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SAMPLE_FIRST_PIXEL=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SAMPLE_FIRST_PIXEL[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SAMPLE_LAST_PIXEL=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SAMPLE_LAST_PIXEL[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MAP_PROJECTION_ROTATION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MAP_PROJECTION_ROTATION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MAP_RESOLUTION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MAP_RESOLUTION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MAP_SCALE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MAP_SCALE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MAXIMUM_LATITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MAXIMUM_LATITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MINIMUM_LATITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MINIMUM_LATITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
LINE_PROJECTION_OFFSET=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}LINE_PROJECTION_OFFSET[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SAMPLE_PROJECTION_OFFSET=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SAMPLE_PROJECTION_OFFSET[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
EASTERNMOST_LONGITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}EASTERNMOST_LONGITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
WESTERNMOST_LONGITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}WESTERNMOST_LONGITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROOBSERVATION_START_TIME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:OBSERVATION_START_TIME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
START_TIME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}START_TIME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SPACECRAFT_CLOCK_START_COUNT=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SPACECRAFT_CLOCK_START_COUNT[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
STOP_TIME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}STOP_TIME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SPACECRAFT_CLOCK_STOP_COUNT=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SPACECRAFT_CLOCK_STOP_COUNT[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PRODUCT_CREATION_TIME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PRODUCT_CREATION_TIME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROCCD_FLAG=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:CCD_FLAG[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROBINNING=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:BINNING[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROTDI=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:TDI[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROSPECIAL_PROCESSING_FLAG=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:SPECIAL_PROCESSING_FLAG[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
INCIDENCE_ANGLE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}INCIDENCE_ANGLE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
EMISSION_ANGLE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}EMISSION_ANGLE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
PHASE_ANGLE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}PHASE_ANGLE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
LOCAL_TIME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}LOCAL_TIME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SOLAR_LONGITUDE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SOLAR_LONGITUDE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SUB_SOLAR_AZIMUTH=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SUB_SOLAR_AZIMUTH[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
NORTH_AZIMUTH=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}NORTH_AZIMUTH[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
RECORD_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}RECORD_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
ENCODING_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}ENCODING_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
ENCODING_TYPE_VERSION_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}ENCODING_TYPE_VERSION_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
INTERCHANGE_FORMAT=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}INTERCHANGE_FORMAT[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
UNCOMPRESSED_FILE_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}UNCOMPRESSED_FILE_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
REQUIRED_STORAGE_BYTES=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}REQUIRED_STORAGE_BYTES[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
RECORD_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}RECORD_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
RECORD_BYTES=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}RECORD_BYTES[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
FILE_RECORDS=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}FILE_RECORDS[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
IMAGE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}IMAGE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
LINES=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}LINES[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
LINE_SAMPLES=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}LINE_SAMPLES[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
BANDS=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}BANDS[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SAMPLE_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SAMPLE_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SAMPLE_BITS=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SAMPLE_BITS[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SAMPLE_BIT_MASK=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SAMPLE_BIT_MASK[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
SCALING_FACTOR=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}SCALING_FACTOR[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
OFFSET=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}OFFSET[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
BAND_STORAGE_TYPE=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}BAND_STORAGE_TYPE[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CORE_NULL=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CORE_NULL[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CORE_LOW_REPR_SATURATION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CORE_LOW_REPR_SATURATION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CORE_LOW_INSTR_SATURATION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CORE_LOW_INSTR_SATURATION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CORE_HIGH_REPR_SATURATION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CORE_HIGH_REPR_SATURATION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CORE_HIGH_INSTR_SATURATION=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CORE_HIGH_INSTR_SATURATION[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
CENTER_FILTER_WAVELENGTH=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}CENTER_FILTER_WAVELENGTH[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROMINIMUM_STRETCH=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:MINIMUM_STRETCH[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
MROMAXIMUM_STRETCH=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}MRO:MAXIMUM_STRETCH[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
FILTER_NAME=$(cat LBL/$FILENAME | \
perl -i -pe 's~,[[:space:]]+~, \1~smg' | \
tr -s ' ' | \
sed -nE 's~^[[:space:]]{0,}FILTER_NAME[[:space:]]{0,}=[[:space:]]{0,}(.*)$~\1~p' | \
tr -s '\"' | \
sed -E 's~^([^<]+)<.*$~\1~g' | \
tr -s '\n' ' ');
DATA_ROW=$(echo "${PDS_VERSION_ID};${NOT_APPLICABLE_CONSTANT};${DATA_SET_ID};${DATA_SET_NAME};${PRODUCER_INSTITUTION_NAME};${PRODUCER_ID};${PRODUCER_FULL_NAME};${OBSERVATION_ID};${PRODUCT_ID};${PRODUCT_VERSION_ID};${INSTRUMENT_HOST_NAME};${INSTRUMENT_HOST_ID};${INSTRUMENT_NAME};${INSTRUMENT_ID};${TARGET_NAME};${MISSION_PHASE_NAME};${ORBIT_NUMBER};${SOURCE_PRODUCT_ID};${RATIONALE_DESC};${SOFTWARE_NAME};${DATA_SET_MAP_PROJECTION};${MAP_PROJECTION_TYPE};${PROJECTION_LATITUDE_TYPE};${A_AXIS_RADIUS};${B_AXIS_RADIUS};${C_AXIS_RADIUS};${COORDINATE_SYSTEM_NAME};${POSITIVE_LONGITUDE_DIRECTION};${KEYWORD_LATITUDE_TYPE};${CENTER_LATITUDE};${CENTER_LONGITUDE};${LINE_FIRST_PIXEL};${LINE_LAST_PIXEL};${SAMPLE_FIRST_PIXEL};${SAMPLE_LAST_PIXEL};${MAP_PROJECTION_ROTATION};${MAP_RESOLUTION};${MAP_SCALE};${MAXIMUM_LATITUDE};${MINIMUM_LATITUDE};${LINE_PROJECTION_OFFSET};${SAMPLE_PROJECTION_OFFSET};${EASTERNMOST_LONGITUDE};${WESTERNMOST_LONGITUDE};${MROOBSERVATION_START_TIME};${START_TIME};${SPACECRAFT_CLOCK_START_COUNT};${STOP_TIME};${SPACECRAFT_CLOCK_STOP_COUNT};${PRODUCT_CREATION_TIME};${MROCCD_FLAG};${MROBINNING};${MROTDI};${MROSPECIAL_PROCESSING_FLAG};${INCIDENCE_ANGLE};${EMISSION_ANGLE};${PHASE_ANGLE};${LOCAL_TIME};${SOLAR_LONGITUDE};${SUB_SOLAR_AZIMUTH};${NORTH_AZIMUTH};${RECORD_TYPE};${ENCODING_TYPE};${ENCODING_TYPE_VERSION_NAME};${INTERCHANGE_FORMAT};${UNCOMPRESSED_FILE_NAME};${REQUIRED_STORAGE_BYTES};${RECORD_TYPE};${RECORD_BYTES};${FILE_RECORDS};${IMAGE};${LINES};${LINE_SAMPLES};${BANDS};${SAMPLE_TYPE};${SAMPLE_BITS};${SAMPLE_BIT_MASK};${SCALING_FACTOR};${OFFSET};${BAND_STORAGE_TYPE};${CORE_NULL};${CORE_LOW_REPR_SATURATION};${CORE_LOW_INSTR_SATURATION};${CORE_HIGH_REPR_SATURATION};${CORE_HIGH_INSTR_SATURATION};${CENTER_FILTER_WAVELENGTH};${MROMINIMUM_STRETCH};${MROMAXIMUM_STRETCH};${FILTER_NAME};POLYGON((${WEST} ${MAX_LAT},${EAST} ${MAX_LAT},${EAST} ${MIN_LAT},${WEST} ${MIN_LAT},${WEST} ${MAX_LAT}));${LINE}" | \
sed -E 's~[[:space:]]{0,};[[:space:]]{0,}~;~g' | \
tr -d '\n' | \
perl -i -pe 's~\s{1,}~ ~smg');
echo "$DATA_ROW" >> ${FILENAME%.LBL}.csv) &
let ACTIVE=$ACTIVE+1
if [ "$ACTIVE" -eq "4" ]; then
wait
sleep 5;
let ACTIVE=0
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment