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
|