Как упомянул в комментариях use Ralph Ronquist, ваша проблема в том, что вы используете &&
в тестовом выражении [
. Отредактируйте свой код в форме if [ -f "fichier1" ] && [ -r "fichier1" ] && [ -w "fichier3" ]...
, и он должен приблизить вас к тому, что вы хотите. Обратите внимание, что я разделил тесты -, они не пройдут при объединении, например -rf
; вам нужно разделить их на отдельные тесты.
Вы можете попробовать этот код, чтобы сгенерировать имена каталогов и создать эти каталоги:
cd T001/20000101
for i in *
do
dname=$(echo $i|awk -F'[-_]' '{print $1_$2}')
mkdir -p $dname
mv "$i" $dname
done