X-Git-Url: https://nuage.metani.fr/gitweb/3GPP.git/blobdiff_plain/bc558c280842a6f1ae1b3c3a07c5dd0afc66a011..d788c1f2b3c65a888d59369fdd121ac20da1660b:/bin/docx2asn.sh?ds=sidebyside diff --git a/bin/docx2asn.sh b/bin/docx2asn.sh index 832f134..373abb9 100755 --- a/bin/docx2asn.sh +++ b/bin/docx2asn.sh @@ -11,12 +11,12 @@ if [[ ! -w . ]] ; then exit 1 fi -echo "platform est $platform" +platform=$(uname) case $platform in Linux) libreoffice="libreoffice" ;; CYGWIN*) libreoffice="soffice" ;; - *) print "Unkown platform $platform" + *) echo "Unkown platform $platform" exit 1;; esac @@ -47,6 +47,13 @@ while [ "$#" -gt 0 ]; do shift continue fi + + # On windows, soffice adds CR characters at line ends and produces EN-DASH in Windows-1252 enconding, i.e. 0x96 + # Remove the CR at each line end and convert EN-DASH to normal minus + echo "${1%.docx}.txt" + LC_ALL=C sed -i $'s/\x96/-/g' "${1%.docx}.txt" + LC_ALL=C sed -i $'s/\r$//' "${1%.docx}.txt" + fi if [[ -e "${1%.docx}.asn" ]] ; then @@ -54,7 +61,8 @@ while [ "$#" -gt 0 ]; do shift continue fi - + + cat "${1%.docx}.txt" | awk '/^-- ASN1START$/,/^-- ASN1STOP$/' | grep -Evxe '-- ASN1ST(ART|OP)' | grep -v '^--' | awk 'NF || p; { p = NF }' p=0 > "${1%.docx}.asn" if [[ -e "${1%.docx}.asn" ]] ; then