Changeset 2065
- Timestamp:
- Apr 20, 2010, 5:44:56 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
non-gtk/firebug/tools/upproperties.sh
r1824 r2065 1 LC_CTYPE=C 2 LC_COLLATE=C 3 LC_TIME=C 4 LC_NUMERIC=C 5 LC_MONETARY=C 6 LC_MESSAGES=C 7 LANG=C 1 #!/bin/bash 2 # upproperties.sh OLDBG.properties NEWENG.properties 3 4 LC_CTYPE=en_US.UTF-8 5 LC_COLLATE=en_US.UTF-8 6 LC_TIME=en_US.UTF-8 7 LC_NUMERIC=en_US.UTF-8 8 LC_MONETARY=en_US.UTF-8 9 LC_MESSAGES=en_US.UTF-8 10 LANG=en_US.UTF-8 8 11 9 12 export LC_CTYPE LC_COLLATE LC_TIME LC_NUMERIC LC_MONETARY LC_MESSAGES LANG 10 13 11 BGDTD=$1 12 ENDTD=$2 14 BGFILE=$1 15 ENFILE=$2 16 17 TRANSLATABLE="^[^#].*=" 18 19 # DEBUG 20 # cat $BGFILE > BGFILE 21 # cat $ENFILE > ENFILE 13 22 14 23 BGTMP=`mktemp` 24 25 ENMID=`mktemp` 15 26 ENTMP=`mktemp` 16 27 17 cat $BGDTD |\ 28 # Проверка за разделител 29 SEPARATOR='|' 30 31 grep "$SEPARATOR" $BGTMP 32 33 if [ x$? != 'x1' ]; then 34 echo "$BGTMP не се чете или съдържа $SEPARATOR" 35 exit 1; 36 fi 37 38 grep "$SEPARATOR" $ENTMP 39 40 if [ x$? != 'x1' ]; then 41 echo "$ENTMP не се чете или съдържа $SEPARATOR" 42 exit 1; 43 fi 44 45 # Отделяме съдържащите „=“, които не започват 46 # с „#“ , заменяме 1-то „=“ с „|“, 47 # подреждаме по първото поле. 48 cat $BGFILE |\ 18 49 dos2unix |\ 19 sed '/^$/d'|\20 sed 's/=/|/'|\21 sort -t '|'-k 1,1 > $BGTMP50 grep "$TRANSLATABLE" |\ 51 sed "s/=/$SEPARATOR/" |\ 52 sort -t "$SEPARATOR" -k 1,1 > $BGTMP 22 53 23 cat $ENDTD |\ 54 55 # DEBUG 56 # cat $BGTMP > BGTMP 57 58 # Номерираме, слагаме номера накрая на реда, 59 cat $ENFILE |\ 24 60 dos2unix |\ 25 sed '/^$/d' |\ 26 sed 's/=/|/' |\ 27 nl |\ 28 sed 's/^[\t ]*\([0-9][0-9]*\)[\t ]*\(.*\)$/\2|\1/' |\ 29 sort -t '|' -k 1,1 > $ENTMP 61 nl -ba |\ 62 sed "s/^[ ]*\([0-9][0-9]*\)[\t]*\(.*\)$/\2$SEPARATOR\1/" > $ENMID 63 64 # DEBUG 65 # cat $ENMID > ENMID 66 67 # Отделяме съдържащите „=“, които не започват с „#“, 68 # заменяме 1-то „=“ с „|“, подреждаме по първото поле. 69 cat $ENMID |\ 70 grep "$TRANSLATABLE" |\ 71 sed "s/=/$SEPARATOR/" |\ 72 sort -t "$SEPARATOR" -k 1,1 > $ENTMP 73 74 # DEBUG 75 # cat $ENTMP > ENTMP 30 76 31 77 RESTMP=`mktemp` 78 RESTMP1=`mktemp` 32 79 33 join $ENTMP $BGTMP -t '|' -o 1.3,1.1,1.2,2.2 > $RESTMP 34 join $ENTMP $BGTMP -t '|' -o 1.3,1.1,1.2,2.2 -v 1 >> $RESTMP 80 # join по първото поле, разделител "$SEPARATOR" 81 # изход ТЕРМИН|АНГЛИЙСКИ|БЪЛГАРСКИ или BUGABUGA|НОМЕР 82 # заменяме |АНГЛИЙСКИ|BUGABUGA с |АНГЛИЙСКИ|АНГЛИЙСКИ| 83 join $ENTMP $BGTMP -t "$SEPARATOR" -j 1 -o 1.1,1.2,2.2,1.3 -a 1 -e 'BUGABUGA' |\ 84 sed "s/$SEPARATOR\([^$SEPARATOR]*\)$SEPARATOR""BUGABUGA/$SEPARATOR\1$SEPARATOR\1/" > $RESTMP 35 85 86 # DEBUG 87 # cat $RESTMP > RESTMP 88 89 # Преподреждаме ТЕРМИН|БЪЛГАРСКИ|НОМЕР 90 # Първия | става = 91 # Резултат НЕЩО|НОМЕР 36 92 cat $RESTMP |\ 37 sort -t '|' -k 1,1 -n |\ 38 sed 's/\([^|]*\)|$/\1|\1/' |\ 39 cut -d '|' -f 2,4 |\ 40 sed 's/|/=/' 93 cut -d "$SEPARATOR" -f 4,1,3 |\ 94 sed "s/$SEPARATOR/=/" > $RESTMP1 41 95 42 rm $BGTMP $ENTMP $RESTMP 96 # DEBUG 97 # cat $RESTMP1 > RESTMP1-1 98 99 # Добявяме останалите редове 100 # Резултат НЕЩО|НОМЕР 101 cat $ENMID |\ 102 grep -v "$TRANSLATABLE" |\ 103 cut -d "$SEPARATOR" -f 2,1 >> $RESTMP1 104 105 # DEBUG 106 # cat $RESTMP1 > RESTMP1-2 107 108 # Сортираме по второто поле 109 # Взимаме първото, ура 110 sort -t "$SEPARATOR" -k 2,2 -n $RESTMP1 |\ 111 cut -d "$SEPARATOR" -f 1 112 113 rm $BGTMP $ENTMP $RESTMP $RESTMP1
Note: See TracChangeset
for help on using the changeset viewer.