root/trunk/util/massageContacts.sh

Revision 2949 (checked in by bleibson, 3 years ago)

fixed problem with empty compares.

  • Property svn:executable set to *
Line 
1 #! /bin/bash -f
2
3 inputFile=MimisContacts.txt
4 tmpFile=/tmp/MimisContactsMassaged$$.txt
5 # the resulting file is pumped out via stdout
6
7 sed '/ADR;TYPE=WORK:;;;;;;$/d' $inputFile | sed '/ADR;TYPE=HOME:;;;;;;$/d' | sed '/ADR;TYPE=X-ORACLE-OTHER:;;;;;;$/d' | sed 's/VERSION:3.0$/VERSION:4.0/' > $tmpFile
8
9
10 while read line; do
11    
12   case "$line" in
13      ^$)
14        # toss empty lines
15        ;;
16      BEGIN:VCARD)
17        # save the Begin line
18        beginLine=$line
19        ;;
20      N:*)
21        # save N: lines for examination
22        nLine=$line
23        cardBuffer=${cardBuffer}${line}%%
24        ;;
25      ORG:*)
26        # save ORG: lines for examination
27        orgLine=$line
28        cardBuffer=${cardBuffer}${line}%%
29        ;;
30      FN:*)
31        # save FN: lines for examination
32        fnLine=$line
33        cardBuffer=${cardBuffer}${line}%%
34        ;;
35      END:VCARD)
36        #process what we have
37        # echo out the begin line
38        echo $beginLine
39        if [ x"$fnLine" == x ]; then
40           # mock up an FN and spit it out
41           if [ "$nLine" != "N:;;;;" ]; then
42             newFnLine=`echo $nLine | sed 's/N://'`
43             lastName=`echo "$newFnLine" | cut -d\; -f1`
44             firstName=`echo "$newFnLine" | cut -d\; -f2`
45             echo "FN:$firstName $lastName" | sed 's/FN: /FN:/'
46           else
47             newFnLine=`echo $orgLine | sed 's/ORG: /FN:/' |  sed 's/FN: /FN:/'`
48           fi
49          
50        fi
51        # echo out the rest of the lines
52        echo -n $cardBuffer | sed 's/%%/\n/g'
53        #echo out the end line
54        echo $line
55        fnLine=""
56        cardBuffer=""
57        nLine=""
58        orgLine=""
59        ;;
60      *)
61        cardBuffer=${cardBuffer}${line}%%
62        ;;
63 esac     
64
65 done < $tmpFile
66
67
68
69
70
Note: See TracBrowser for help on using the browser.