История изменений
Исправление kostik87, (текущая версия) :
SOURCE=/tmp
DEST_DIR=/tmp/DEST
MOUNTHES="Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь"
find ${SOURCE}/*/videodata -type d | while read DIR
do
FROM_FLASH=`echo ${DIR} | cut -f3 -d\/`
find ${DIR} -maxdepth 1 -type f -iname *.msn3 -exec stat -c "%y\|%n" {} \; | while read FILE_STR
do
MOUNTH_NUM=`echo $FILE_STR | cut -f1 -d" " | cut -f2 -d-`
MOUNTH=`echo $MOUNTHES | cut -f$MOUNTH_NUM -d" "`
DAY=`echo $FILE_STR | cut -f1 -d" " | cut -f3 -d-`
DEST=${DEST_DIR}/$MOUNTH\/$DAY\/$FROM_FLASH
FILE=`echo $FILE_STR | cut -f2 -d\|`
test -d ${DEST} || mkdir ${DEST} -p
cp $FILE ${DEST}/
done
done
А да, у меня другой stat, в общем почитайте документацию по вашему stat, в FILE_STR должно быть примерно следующее:
2013-10-03 20:19:30.689136806 +0400|/tmp/dir1/videodata/fil13.msn3Ну либо подправьте скрипт больше.
Исправление kostik87, :
SOURCE=/tmp
DEST_DIR=/tmp/DEST
MOUNTHES="Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь"
find ${SOURCE}/*/videodata -type d | while read DIR
do
FROM_FLASH=`echo ${DIR} | cut -f3 -d\/`
find ${DIR} -maxdepth 1 -type f -iname *.msn3 -exec stat -c "%y\|%n" {} \; | while read FILE_STR
do
MOUNTH_NUM=`echo $FILE_STR | cut -f1 -d" " | cut -f2 -d-`
MOUNTH=`echo $MOUNTHES | cut -f$MOUNTH_NUM -d" "`
DAY=`echo $FILE_STR | cut -f1 -d" " | cut -f3 -d-`
DEST=${DEST_DIR}/$MOUNTH\/$DAY\/$FROM_FLASH
FILE=`echo $FILE_STR | cut -f2 -d\|`
test -d ${DEST} || mkdir ${DEST} -p
cp $FILE ${DEST}/
done
done
А да, у меня другой stat, в общем почитайте документацию по вашему stat, в FILE_STR должно быть примерно следующее 2013-10-03 20:19:30.689136806 +0400|/tmp/dir1/videodata/fil13.msn3
Ну либо подправьте скрипт больше.
Исходная версия kostik87, :
SOURCE=/tmp
DEST_DIR=/tmp/DEST
MOUNTHES="Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь"
find ${SOURCE}/*/videodata -type d | while read DIR
do
FROM_FLASH=`echo ${DIR} | cut -f3 -d\/`
find ${DIR} -maxdepth 1 -type f -iname *.msn3 -exec stat -c "%y\|%n" {} \; | while read FILE_STR
do
MOUNTH_NUM=`echo $FILE_STR | cut -f1 -d" " | cut -f2 -d-`
MOUNTH=`echo $MOUNTHES | cut -f$MOUNTH_NUM -d" "`
DAY=`echo $FILE_STR | cut -f1 -d" " | cut -f3 -d-`
DEST=${DEST_DIR}/$MOUNTH\/$DAY\/$FROM_FLASH
FILE=`echo $FILE_STR | cut -f2 -d\|`
test -d ${DEST} || mkdir ${DEST} -p
cp $FILE ${DEST}/
done
done