-
Notifications
You must be signed in to change notification settings - Fork 6
/
05-b-9100.sh
36 lines (30 loc) · 1.54 KB
/
05-b-9100.sh
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
#!/bin/bash
if [[ $# -ne 2 ]] ; then
echo "Expected 2 arguments:"
echo "Source directory"
echo "Destination directory"
exit 1
fi
source="${1}"
destination="${2}"
if [[ ! -d "${source}" ]] ; then
echo "Source directory does not exist"
exit 1
fi
if [[ ! -d "${destination}" ]] ; then
mkdir "${destination}"
fi
for file in $(find "${source}" -mindepth 1 -type f) ; do
extension=$(echo "${file}" | awk -F '.' '{print $NF}')
echo "${destination}/${extenstion}"
if [[ ! -d "${destination}/${extension}" ]] ; then
echo "Make"
mkdir "${destination}/${extension}"
fi
cp "${file}" "${destination}/${extension}"
done
#Опишете поредица от команди или напишете shell скрипт, които/който при известни две директории SOURCE и DESTINATION:
#- намира уникалните "разширения" на всички файлове, намиращи се някъде под SOURCE. (За простота приемаме,
#че в имената на файловете може да се среща символът точка '.' максимум веднъж.)
#- за всяко "разширение" създава по една поддиректория на DESTINATION със същото име
#- разпределя спрямо "разширението" всички файлове от SOURCE в съответните поддиректории в DESTINATION