1
我有類似下面的文件結構:重組和重命名基於國家代碼
Localizable
Localizable_en
Localizable_de
Localizable_es
Localizable_zh_CN
Root
Root_de
Root_en
Root_es
Root_zh_CN
TechnicalSupportPane
TechnicalSupportPane_jp
TechnicalSupportPane_de
TechnicalSupportPane_es
TechnicalSupportPane_en
TechnicalSupportPane_zh_CN
我想所有文件_ [國家代碼]複製到文件夾(MKDIR)從這個國家代碼開始並重命名該文件。但是沒有國家代碼的文件應該被複制到根文件夾($ TRANSLATION_FOLDER)中。如果找到像zh_CN這樣的中國國家代碼,則應將其轉換爲zh-Hans。
到目前爲止,我有以下編碼,但沒有國家代碼的文件被忽略 - 或錯誤地複製。
mkdir $SETTINGS_FOLDER
mkdir $TRANSLATION_FOLDER
for XLF in $(find "." -maxdepth 1 -iname "*.xlf");
do
TMP_LANGUAGE=${XLF: -6}
LANGUAGE=${TMP_LANGUAGE:0:2}
if [[ "$XLF" == *zh* ]]
then
LANGUAGE_PROJ_FOLDER="zh-Hans.project"
else
LANGUAGE_PROJ_FOLDER=$LANGUAGE".project"
fi
TMP_FILE_NAME=${XLF%.xlf}
FILE_NAME=${TMP_FILE_NAME##*/}
echo "Processing language "$LANGUAGE" with file "$FILE_NAME
if [[ "$XLF" == *Localizable* ]]
then
echo "Processing Localizable" $XLF
mkdir $TRANSLATION_FOLDER"/"$LANGUAGE_PROJ_FOLDER
cp $FILE_NAME_STRING $TRANSLATION_FOLDER"/"$LANGUAGE_PROJ_FOLDER"/Localizable"
else
echo "Processing Root and TechnicalSupportPane" $XLF
mkdir $SETTINGS_BUNDLE_FOLDER"/"$LANGUAGE_PROJ_FOLDER
cp $FILE_NAME_STRING $SETTINGS_FOLDER"/"$LANGUAGE_PROJ_FOLDER
fi
done
我刪除文件前綴和檢查在最後的國家代碼 - 這適用於帶有國家代碼的所有文件,但是從那些沒有最後採取字符 - 這是錯誤的。
有創建和複製這些文件解析這些文件結構的有效方法嗎?
BR, mybecks