commit 1de3c933256485d5145e4b8680afc0acbd80cc00
parent a57cc825b28850ea997e437e1a317b19b603ebd6
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Thu, 7 Sep 2023 18:17:03 +0200
Update the dump_netcdf_data.sh shell script
Return 1 on error and reinforce POSIX compliance: in the sed directive,
replace * by \{0,\} to notify a cardinality of [0..n].
Diffstat:
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/src/dump_netcdf_data.sh b/src/dump_netcdf_data.sh
@@ -18,22 +18,24 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. */
if [ $# -lt 2 ]; then
- echo "Usage: $0 VAR-NAME MIE-NETCDF "
- exit 0
+ printf "usage: %s variable netcdf\n" "${0##*/}" >&2
+ exit 1
fi
if [ ! -f "$2" ]; then
- echo "\"$2\" is not a valid file."
- exit 0
+ printf "\"%s\" is not a valid file\n" "$2"
+ exit 1
fi
name=${2##*/}
name=${name%.*}
+blanks="[[:blank:]]\{0,\}"
+
ncdump -v "$1" "$2" \
- | sed -n "/^ *$1 *=/,\$p" \
- | sed "s/^ *$1 *= *//g" \
- | sed 's/[;} ]//g' \
- | sed 's/,/\n/g' \
- | sed '/^ *$/d' > "${name}_${1}"
+ | sed -n "/^${blanks}$1${blanks}=/,\$p" \
+ | sed "s/^${blanks}$1${blanks}=${blanks}//g" \
+ | sed "s/[;} ]//g" \
+ | sed "s/,/\n/g" \
+ | sed "/^${blanks}$/d" > "${name}_${1}"