Paste #270961

   
pasted on 18.10.2023 12:17
  • Edit to this paste
  • Print
  • Raw
  • Compare with paste
    #  
  • Toggle line numbers
  • Syntax highlighting  
Text paste
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/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
Add Comment
Author