source: non-gtk/firebug/tools/upproperties.sh@ 2065

Last change on this file since 2065 was 2065, checked in by Александър Шопов, 16 years ago

upproperties.sh: коригиран, работи, коментари

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