You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.4 KiB
77 lines
1.4 KiB
#!/bin/bash |
|
|
|
ROOT_DST="in/posts" |
|
|
|
# case in-sensitive matching |
|
shopt -s nocaseglob |
|
shopt -s nullglob |
|
|
|
if [ "$1" == '-h' ] |
|
then |
|
echo "Copy all images " |
|
echo " from DIR" |
|
echo " to $ROOT_DST/<DATE>" |
|
echo "DIR must be a path to a DATE base directory like 2006010213_STAUFEN" |
|
echo "Destination directory will be deleted an recreated" |
|
echo "Usage:" |
|
echo " load DIR" |
|
echo "" |
|
echo " DATE must be an existing directory" |
|
echo " Images will be copied into $ROOT_DST/<DATE>" |
|
echo " For instance: load /mnt/pict/20200912_STAUFEN" |
|
exit 0 |
|
fi |
|
|
|
if [ -z "$1" ] |
|
then echo "Missing source directory, e. g. call 'load /mnt/pict/20200912_STAUFEN'" |
|
exit 1 |
|
fi |
|
|
|
DIR=$(basename "$1") |
|
#echo dir=$DIR |
|
|
|
DATE=${DIR:0:8} |
|
#echo date=$DATE |
|
|
|
if [ ! -e "$1" ] |
|
then echo "Directory '$1' not found !" |
|
exit 1 |
|
fi |
|
|
|
if [ ! -e $ROOT_DST ] |
|
then echo "Destination root directory '$ROOT_DST' not found !" |
|
exit 1 |
|
fi |
|
|
|
DST="$ROOT_DST/$DATE" |
|
|
|
if [ ! -e $DST ] |
|
then echo "Create $DST" |
|
mkdir "$DST" |
|
fi |
|
|
|
echo "Processing $DATE..." |
|
|
|
if [ -e "$DST" ] |
|
then |
|
echo "Delete $DST" |
|
rm -r "$DST" |
|
fi |
|
|
|
echo "Create $DST" |
|
mkdir "$DST" |
|
|
|
# It's tricky to copy dirs with whitespaces |
|
shopt -s extglob # turn on extended globbing |
|
SAVEIFS=$IFS |
|
IFS=$(echo -en "\n\b") |
|
for f in $1?(*.jpg|*.jpeg|*.png) |
|
do |
|
echo "$f" |
|
cp -v "$f" "$DST"/ |
|
done |
|
IFS=$SAVEIFS |
|
|
|
|
|
|
|
|
|
|