#! /usr/bin/env bash source config function print_usage_and_exit { >&2 echo "USAGE : language templateName expName" exit 1 } function has_space { [[ "$1" != "${1%[[:space:]]*}" ]] && return 0 || return 1 } LANG=$1 TEMPLATENAME=$2 EXPNAME=$3 if [ -z "$LANG" ]; then >&2 echo "ERROR : missing argument 1 (lang)" print_usage_and_exit fi if [ -z "$TEMPLATENAME" ]; then >&2 echo "ERROR : missing argument 2 (templateName)" print_usage_and_exit fi if [ -z "$EXPNAME" ]; then >&2 echo "ERROR : missing argument 3 (expName)" print_usage_and_exit fi if [ ! -d "$TEMPLATENAME" ]; then >&2 echo "ERROR : directory $TEMPLATENAME doesn't exist" print_usage_and_exit fi CORPUS=$UD_ROOT"/"$LANG if [ ! -d "$CORPUS" ]; then >&2 echo "ERROR : directory $CORPUS doesn't exist" print_usage_and_exit fi TRAIN=$(find $CORPUS -name '*train*.conllu') DEV=$(find $CORPUS -name '*dev*.conllu') TEST=$(find $CORPUS -name '*test*.conllu') W2V=$(find $CORPUS -name '*.w2v') if has_space "$TRAIN" || has_space "$DEV" || has_space "$TEST"; then >&2 echo "ERROR : more than 1 match with keyword" $KEYWORD >&2 echo "TRAIN : " $TRAIN >&2 echo "DEV : " $DEV >&2 echo "TEST : " $TEST print_usage_and_exit fi mkdir -p bin if [ ! -d "bin/$EXPNAME" ]; then cp -r $TEMPLATENAME bin/$EXPNAME cp -r "data" bin/$EXPNAME/. if [ -f "$TRAIN" ]; then ln -s $(readlink -f $TRAIN) bin/$EXPNAME/data/train.conllu fi if [ -f "$DEV" ]; then ln -s $(readlink -f $DEV) bin/$EXPNAME/data/dev.conllu fi if [ -f "$TEST" ]; then ln -s $(readlink -f $TEST) bin/$EXPNAME/data/test.conllu fi if [ ! -z "$W2V" ]; then mkdir -p bin/$EXPNAME/data/W2V/ ln -s $(readlink -f $W2V) bin/$EXPNAME/data/W2V/ fi fi