summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk Engling <erdgeist@erdgeist.org>2019-01-29 16:22:42 +0100
committerDirk Engling <erdgeist@erdgeist.org>2019-01-29 16:22:42 +0100
commitfda41e399edf12c65b177ffbb98bc511b8f6463a (patch)
treea422821fd2b70a9125fa9301fb53f3bdca668e6a
parentc9473557656164985c638d1defcf03ff4cb0958e (diff)
Dispatch expansion for linus and bsd
-rwxr-xr-xmakecolumns.sh17
1 files changed, 11 insertions, 6 deletions
diff --git a/makecolumns.sh b/makecolumns.sh
index 4920550..b73dffe 100755
--- a/makecolumns.sh
+++ b/makecolumns.sh
@@ -5,6 +5,11 @@ export LC_CTYPE=C
5export LC_ALL=C 5export LC_ALL=C
6export PATH=${PATH}:`pwd`/bin/ 6export PATH=${PATH}:`pwd`/bin/
7 7
8unset FIND_E
9case `uname -s` in
10 *BSD|Darwin) FIND_E="-E "
11esac
12
8main() { 13main() {
9 [ -f /usr/local/bin/el ] && EL=/usr/local/bin/el 14 [ -f /usr/local/bin/el ] && EL=/usr/local/bin/el
10 [ -f `dirname $0`/../bin/el ] && EL=`dirname $0`/../bin/el 15 [ -f `dirname $0`/../bin/el ] && EL=`dirname $0`/../bin/el
@@ -30,7 +35,7 @@ main() {
30 35
31 if [ -f "$1/phonebook.db" ]; then 36 if [ -f "$1/phonebook.db" ]; then
32 handle_format_version_4 "${1}" 37 handle_format_version_4 "${1}"
33 elif [ -f ${1}/[Dd][Aa][Tt]/[Tt][Ee][Ii][Ll][Nn].[Dd][Aa][Tt] ]; then 38 elif [ -f "${1}"/[Dd][Aa][Tt]/[Tt][Ee][Ii][Ll][Nn].[Dd][Aa][Tt] ]; then
34 handle_format_version_3 "${1}" 39 handle_format_version_3 "${1}"
35 elif [ -n "`find "${1}" -iname atb?dd00 -ls -quit`" ]; then 40 elif [ -n "`find "${1}" -iname atb?dd00 -ls -quit`" ]; then
36 handle_format_version_2 "${1}" 41 handle_format_version_2 "${1}"
@@ -165,13 +170,13 @@ handle_format_version_2() {
165handle_format_version_3() { 170handle_format_version_3() {
166 echo "Working on $1. Detected pre-2004 Telefonbuch version." 171 echo "Working on $1. Detected pre-2004 Telefonbuch version."
167 # Extract teiln.dat 172 # Extract teiln.dat
168 do_decompress_version_3 "$1/[Dd][Aa][Tt]/[Tt][Ee][Ii][Ll][Nn].[Dd][Aa][Tt]" "teiln.dat" 173 do_decompress_version_3 "$1"/[Dd][Aa][Tt]/[Tt][Ee][Ii][Ll][Nn].[Dd][Aa][Tt] "teiln.dat"
169 174
170 # See how long each filename is 175 # See how long each filename is
171 export filename_len=$(( `ls | head -n 1 | wc -c` - 1 )) 176 export filename_len=$(( `ls | head -n 1 | wc -c` - 1 ))
172 177
173 # Get total amount of files, for reporting progress 178 # Get total amount of files, for reporting progress
174 number_of_files=`find -E . -depth 1 -regex '^\./[0123456789]+' | wc -l` 179 number_of_files=`find ${FIND_E} . -depth 1 -regex '^\./[0123456789]+' | wc -l`
175 180
176 # from 2000F on file 0+3*n is table, so make it default 181 # from 2000F on file 0+3*n is table, so make it default
177 table_file=0; vname_file=2 182 table_file=0; vname_file=2
@@ -224,7 +229,7 @@ handle_format_version_3() {
224 229
225 # wipe all temporary extracted files 230 # wipe all temporary extracted files
226 printf "Cleaning up decompressed chunks ... " 231 printf "Cleaning up decompressed chunks ... "
227 find -E . -depth 1 -regex '^\./[0123456789]+' -delete 232 find ${FIND_E} . -depth 1 -regex '^\./[0123456789]+' -delete
228 printf "done.\n" 233 printf "done.\n"
229 234
230 # rename our columns extracted from the table file 235 # rename our columns extracted from the table file
@@ -251,7 +256,7 @@ handle_format_version_3() {
251 256
252 # If street names come in an extra file, extract 257 # If street names come in an extra file, extract
253 # street names first 258 # street names first
254 streets="$1/[Dd][Aa][Tt]/[Ss][Tt][Rr][Aa][Ss][Ss][Ee][Nn].[Dd][Aa][Tt]" 259 streets="$1"/[Dd][Aa][Tt]/[Ss][Tt][Rr][Aa][Ss][Ss][Ee][Nn].[Dd][Aa][Tt]
255 [ -f ${streets} ] && do_processfile_version_3 ${streets} "street name" 99_Strassenname convert_zeros 260 [ -f ${streets} ] && do_processfile_version_3 ${streets} "street name" 99_Strassenname convert_zeros
256 261
257 # extract street names if 07_unknown contains street indexes 262 # extract street names if 07_unknown contains street indexes
@@ -272,7 +277,7 @@ handle_format_version_3() {
272 tidy_streetnames 07_Strasse 277 tidy_streetnames 07_Strasse
273 fi 278 fi
274 279
275 karto="$1/[Dd][Aa][Tt]/[Kk][Aa][Rr][Tt][Oo].[Dd][Aa][Tt]" 280 karto="$1"/[Dd][Aa][Tt]/[Kk][Aa][Rr][Tt][Oo].[Dd][Aa][Tt]
276 if [ -f ${karto} ]; then 281 if [ -f ${karto} ]; then
277 do_processfile_version_3 ${karto} "geo coordinates" 90_Geokoordinaten_hnr_raw 282 do_processfile_version_3 ${karto} "geo coordinates" 90_Geokoordinaten_hnr_raw
278 283