X-Git-Url: https://nuage.metani.fr/gitweb/3GPP.git/blobdiff_plain/291992054c6077e8343c1e2beb76d359de38aaa1..d788c1f2b3c65a888d59369fdd121ac20da1660b:/bin/docx2asn.sh diff --git a/bin/docx2asn.sh b/bin/docx2asn.sh index f29e8c9..373abb9 100755 --- a/bin/docx2asn.sh +++ b/bin/docx2asn.sh @@ -11,7 +11,7 @@ if [[ ! -w . ]] ; then exit 1 fi -platform=$(uname -a) +platform=$(uname) case $platform in Linux) libreoffice="libreoffice" ;; @@ -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