#!/bin/bash # default source dir SD=/run/media/andrey/NIKON/DCIM #default dest dir DD=/home/andrey/pub/Photo if [ ! $1 ] then if ls $SD &> /dev/null then SD=$SD else echo "no source" exit 1 fi if ls $DD &> /dev/null then DD=$DD MEXT=".jpg$\|.jpeg$" else echo "no destination" exit 1 fi else SD=$1 DD=$2 MEXT=".jpg$\|.jpeg$\|.nef$" fi echo "копируем из:" #echo "..." #echo "..." echo "..." ls -C $SD|tail -n 9 echo " " echo "в:" #echo "..." #echo "..." echo "..." ls -C $DD|tail -n 9 echo " " echo "да - YES" read ANSW if [ ! "$ANSW" = "YES" ] then exit fi for PHOTO in `find $SD -type f | grep -i "$MEXT"` do if [ ! -d $SD/$PHOTO ] then EXT=`echo $PHOTO|sed -e "s/^.*\.//g"|tr '[:upper:]' '[:lower:]'|sed -e "s/jpeg/jpg/g"` PART1=`echo "$PHOTO"|sed -e "s/^.*\///g" -e "s/\..*//" -e "s/[[:alpha:]]//g" -e "s/_//g"`; #echo 2 PHDATE=`ls -l --time-style=+%Y%m%d $PHOTO|awk '{print($6)}'` #echo 3 YEAR=`echo $PHDATE|sed -e "s/....$//g" -e "s/[[:alpha:]]//g"` #echo 4 NEWPHOTONAME=`ls -l --time-style=+%Y%m%d-%H%M%S $PHOTO|awk '{print($6)}'`_$PART1 #echo 5 if [ ! -d $DD/$YEAR/$PHDATE ] then mkdir -p $DD/$YEAR/$PHDATE fi nice -n 19 cp -vu $PHOTO $DD/$YEAR/$PHDATE/$NEWPHOTONAME.$EXT #echo "$NEWPHOTONAME" else echo "$PHOTO is a directory. Skip it." fi done for VIDEO in `find $SD -type f|grep -i ".avi$\|.mp4$\|mov$\|3gp$"` do FEXT=`echo $VIDEO|sed -e "s/^.*\.//g"`; PHDATE=`ls -l --time-style=+%Y%m%d $VIDEO|awk '{print($6)}'` YEAR=`echo $PHDATE|sed -e "s/....$//g" -e "s/[[:alpha:]]//g"` NEWFILENAME=`ls -l --time-style=+%Y%m%d-%H%M%S $VIDEO|awk '{print($6)}'` if [ ! -d $DD/$YEAR/$PHDATE\_video ] then mkdir -p $DD/$YEAR/$PHDATE\_video fi nice -n 19 cp -vu $VIDEO $DD/$YEAR/$PHDATE\_video/$NEWFILENAME.$FEXT done for AUDIO in `find $SD -type f|grep -i ".amr$\|.mp3$\|.wav$\|ogg$"` do FEXT=`echo $AUDIO|sed -e "s/^.*\.//g"`; PHDATE=`ls -l --time-style=+%Y%m%d $AUDIO|awk '{print($6)}'` YEAR=`echo $PHDATE|sed -e "s/....$//g" -e "s/[[:alpha:]]//g"` NEWFILENAME=`ls -l --time-style=+%Y%m%d-%H%M%S $AUDIO|awk '{print($6)}'` if [ ! -d $DD/$YEAR/$PHDATE\_audio ] then mkdir -p $DD/$YEAR/$PHDATE\_audio fi nice -n 19 cp -vu $AUDIO $DD/$YEAR/$PHDATE\_audio/$NEWFILENAME.$FEXT done # for FILE in `ls`; do echo $FILE; E=`echo $FILE|sed -e "s/^.*\.//g"`; echo $E;B=`echo $FILE|sed -e "s/\.$E//g"`; echo $B;done