Forumi


Povratak   PC Ekspert Forum > Računala > Software > Web dizajn, programiranje i ostalo
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 30.01.2021., 19:31   #1
tintin
Premium
Moj komp
 
tintin's Avatar
 
Datum registracije: Aug 2007
Lokacija: negdje
Postovi: 1,693
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.
tintin je offline   Reply With Quote
Staro 30.01.2021., 21:14   #2
domy_os
EMP moderator
 
domy_os's Avatar
 
Datum registracije: Apr 2005
Lokacija: Osijek
Postovi: 18,391
Citiraj:
Autor tintin Pregled postova
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?
__________________
"Kako su krojači novog svjetskog poretka uspjeli u tako kratko vrijeme slomiti intelektualne sposobnosti društva, uništiti kritičku svijest i ljudima nametnuti izvrnutu logiku?"

Nisu slomili u kratko vrijeme. Slamali su godinama, desetljećima pa i stoljećima. Svaka odgledana epizoda Big Brothera, svaki dečko koji ne zna niti promijeniti žarulju, a kamoli uzeti sjekiru i pocijepati drva, svaka cura koja misli da je briga za vlastitu obitelj robija, ali rad za par tisuća kuna u korporaciji 12 sati dnevno blagodat, svako promicanje terora političke korektnosti, svaka podrška promociji svih oblika poremećenosti… Sve to nas je dovelo do ovdje. Korona je samo zakucavanje lopte u gol nakon što je obrana već izigrana i golman odletio u prazno.




Lenovo ThinkPad T14 Gen 2 + Lenovo ThinkPad Universal Thunderbolt 4 Dock

CPU: Intel Core i7-1165G7 @ 2.8 GHz
RAM: 2 x 16 GB DDR4-3200
SSD: Samsung 970 EVO Plus 2 TB NVMe M.2
LCD: 14" FHD IPS 400nits Low Power
WLAN: Intel Wi-Fi 6 AX201
WWAN: Quectel EM120R-GL 4G LTE CAT12
OS: Windows 11 Pro

LCD monitor: AOC AG493UCX
Keyboard: Razer Huntsman V2 Analog
Mice: Logitech G502 Proteus Spectrum
SB: Mackie Onyx Producer 2x2
Speakers: 2 x JBL LSR305
MFP: Canon Pixma MP240
NAS: Synology DS420+ with 4 x WD Red Pro 8 TB
HDD Dock: LC Power LC-DOCK-U3-CR + 12 x Hitachi/Samsung/Seagate/WD 1/2 TB

domy_os je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Staro 31.01.2021., 15:15   #3
tintin
Premium
Moj komp
 
tintin's Avatar
 
Datum registracije: Aug 2007
Lokacija: negdje
Postovi: 1,693
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.

Zadnje izmijenjeno od: tintin. 31.01.2021. u 15:27.
tintin je offline   Reply With Quote
Staro 01.02.2021., 10:25   #4
pizdun
d(O.o)b
 
Datum registracije: Dec 2004
Lokacija: -
Postovi: 223
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 &)
pizdun je offline   Reply With Quote
Staro 01.02.2021., 10:54   #5
tintin
Premium
Moj komp
 
tintin's Avatar
 
Datum registracije: Aug 2007
Lokacija: negdje
Postovi: 1,693
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.
tintin je offline   Reply With Quote
Staro 01.02.2021., 12:37   #6
pizdun
d(O.o)b
 
Datum registracije: Dec 2004
Lokacija: -
Postovi: 223
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 ...
pizdun je offline   Reply With Quote
Staro 01.02.2021., 12:50   #7
tintin
Premium
Moj komp
 
tintin's Avatar
 
Datum registracije: Aug 2007
Lokacija: negdje
Postovi: 1,693
Tnx.
Isprobam i to pa onda odlučim koju ću zaposliti
tintin je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Odgovori



Pravila postanja
Vi ne možete otvarati nove teme
Vi ne možete pisati odgovore
Vi ne možete uploadati priloge
Vi ne možete uređivati svoje poruke

BB code je Uključeno
Smajlići su Uključeno
[IMG] kod je Uključeno
HTML je Isključeno

Idi na