Changeset 2065


Ignore:
Timestamp:
Apr 20, 2010, 5:44:56 PM (13 years ago)
Author:
Александър Шопов
Message:

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

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
     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
    811
    912export LC_CTYPE LC_COLLATE LC_TIME LC_NUMERIC LC_MONETARY LC_MESSAGES LANG
    1013
    11 BGDTD=$1
    12 ENDTD=$2
     14BGFILE=$1
     15ENFILE=$2
     16
     17TRANSLATABLE="^[^#].*="
     18
     19# DEBUG
     20# cat $BGFILE > BGFILE
     21# cat $ENFILE > ENFILE
    1322
    1423BGTMP=`mktemp`
     24
     25ENMID=`mktemp`
    1526ENTMP=`mktemp`
    1627
    17 cat $BGDTD |\
     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 |\
    1849dos2unix |\
    19 sed '/^$/d' |\
    20 sed 's/=/|/' |\
    21 sort -t '|' -k 1,1 > $BGTMP
     50grep "$TRANSLATABLE" |\
     51sed "s/=/$SEPARATOR/" |\
     52sort -t "$SEPARATOR" -k 1,1 > $BGTMP
    2253
    23 cat $ENDTD |\
     54
     55# DEBUG
     56# cat $BGTMP > BGTMP
     57
     58# Номерираме, слагаме номера накрая на реда,
     59cat $ENFILE |\
    2460dos2unix |\
    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
     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
    3076
    3177RESTMP=`mktemp`
     78RESTMP1=`mktemp`
    3279
    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 с |АНГЛИЙСКИ|АНГЛИЙСКИ|
     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
    3585
     86# DEBUG
     87# cat $RESTMP > RESTMP
     88
     89# Преподреждаме ТЕРМИН|БЪЛГАРСКИ|НОМЕР
     90# Първия | става =
     91# Резултат НЕЩО|НОМЕР
    3692cat $RESTMP |\
    37 sort -t '|' -k 1,1 -n |\
    38 sed 's/\([^|]*\)|$/\1|\1/' |\
    39 cut -d '|' -f 2,4 |\
    40 sed 's/|/=/'
     93cut -d "$SEPARATOR" -f 4,1,3 |\
     94sed "s/$SEPARATOR/=/" > $RESTMP1
    4195
    42 rm $BGTMP $ENTMP $RESTMP
     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 TracChangeset for help on using the changeset viewer.