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