PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   Web dizajn, programiranje i ostalo (https://forum.pcekspert.com/forumdisplay.php?f=39)
-   -   bash skripta za premještanje foldera (https://forum.pcekspert.com/showthread.php?t=306876)

tintin 30.01.2021. 19:31

bash skripta za premještanje foldera
 
Trebam pomoć oko jedne bash skripte.
Imam jedan folder u koji downloadam filmove i želio bi ih nakon skidanja premjestiti u drugi folder.
Skripta bi trebala prepoznati ima li u folderu .mkv, mp4 ili avi file i ako ima premjestiti folder sa filmom u drugi folder.
Imam jednu skriptu koja mi radi slično, ali mi premješta samo filmove bez njihovih foldera, a želio bi da je svaki film u svom folderu.

domy_os 30.01.2021. 21:14

Citiraj:

Autor tintin (Post 3488045)
Trebam pomoć oko jedne bash skripte.
Imam jedan folder u koji downloadam filmove i želio bi ih nakon skidanja premjestiti u drugi folder.
Skripta bi trebala prepoznati ima li u folderu .mkv, mp4 ili avi file i ako ima premjestiti folder sa filmom u drugi folder.
Imam jednu skriptu koja mi radi slično, ali mi premješta samo filmove bez njihovih foldera, a želio bi da je svaki film u svom folderu.

A taj folder mora ostati gdje je ili se i on premješta na novu lokaciju?

tintin 31.01.2021. 15:15

premještam na novu lokaciju...
Ovo sam složio samo bi nekako trebalo ješ preimanovati barem folder da ima formu: naziv_filma (godina)... bez točki između tj. sa razmakom i bez npr. rezolucije, bez naziva izvora, ...
Skripta odrađuje dobro ovaj glavni dio koji sam želio.

#!/bin/sh
DLPATH="/srv/dev-disk-by-label-sandisk/pyload/*"
EXPATH="/srv/dev-disk-by-label-WDRED4TB/Filmovi/"
LOG="/srv/dev-disk-by-label-WDRED4TB/Filmovi/pyload/Logs/log.txt"

find $DLPATH -name '*.mkv' -or -name '*.mp4' -or -name '*.avi' | while read f
do
mkdir "${f%.*}"
mv "$f" "${f%.*}"
mv "${f%.*}" $EXPATH
wait
echo $(date +"%d.%m.%Y "%T"") "INFO Skripta - premjesti_film.sh je premjestila film $(echo "$f")" >> $LOG
rmdir $DLPATH >> /dev/null 2>&1
done




EDIT:
Sad vidim da mi fali još mogućnosta da se u folder ubaci i novi fajl npr. ako je bolja rezolucuja ili da se u krajnjem slučaju postojeći fajl ili folder pregaze novim fajlom ili folderom.

pizdun 01.02.2021. 10:25

daj neke primjere naziva filmova, tesko je ovak napamet
i daj kak bi finalna forma trebala izgledati

mislim da ti je wait nepotreban, on se koristi dok pokreces stvari u backgroundu (sa &)

tintin 01.02.2021. 10:54

Imam film naziva npr. Letters.From.Iwo.Jima.2006.1080p.Rargb.mkv
Ova skripta napravi folder naziva Letters.From.Iwo.Jima.2006.1080p.Rargb, a htio bih da napravi ovako:
Letters From Iwo Jima (2006)

Ostalo mi skripta odrađuje dobro.

pizdun 01.02.2021. 12:37

evo ja bi to ovak nekak
drazi mi je for

Code:

DLPATH="/srv/dev-disk-by-label-sandisk/pyload/*"
EXPATH="/srv/dev-disk-by-label-WDRED4TB/Filmovi/"

FILE_ARRAY=($(find "$DLPATH" -name '*.mkv' -or -name '*.mp4' -or -name '*.avi'))

for f in "${FILE_ARRAY[@]}";
do
        FOLDER=$(basename "${f%.*}")
        FOLDER=$(echo "$FOLDER" | sed 's/\./ /g')
        FOLDER=$(echo "$FOLDER" | sed -E 's/(.*)([0-9]{4}[^p|i])(.*)/\1(\2)/')
        mkdir "$EXPATH"/"$FOLDER"
        mv "$f" "$EXPATH"/"$FOLDER"
done

jedino nemrem skuziti zakaj sed capturea whitespace kod godine, pa ak te to ne smeta ...

tintin 01.02.2021. 12:50

Tnx.
Isprobam i to pa onda odlučim koju ću zaposliti


Sva vremena su GMT +2. Sada je 21:48.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger