Portál AbcLinuxu, 21. května 2025 18:32
Po dlhej prestávke od BASH skriptov (aj keď mám pocit že som vlastne nikdy nezačal) som sa rozhodol napísať jeden jednoduchý skriptík. Stačí mať *.avi a srt súbory v jednej zložke spolu so skriptom, ktorý spusitíte v konzole.
Ak chcete titulky aj seriály mať zorganizované do priečinkov treba pri spustení odpovedať yes. Je to užitočné najme ak máte starý DVD prehrávač (napr. Sigmatek made in France), kde býva problém spustiť titulky s iným názvom ako je avi súbor alebo problém viacerých avi súborov v jednej zložke.Ach tí francúzi.
Nikdy som nebol nejaký kóder skriptov, som odrastený (alebo zhýčkaný?) na kompilovatelných jazykoch a BASH bola premňa už len na pohlad vždy veľká syntaxová divočina. Aj tento jednoduchy skript mi robil problémy.#!/bin/bash echo "organize to dirs? (yes or no)" read mv2dir episodes=$(ls *.avi | grep -o "[Ss][0-9][0-9][Ee][0-9][0-9]") function move_to_dir () { mkdir $1 mv "$PWD/$2" "$PWD/$1/$2" mv "$PWD/$3" "$PWD/$1/$3" echo "subtitles $2 and file $3 moved to directory $1" } for episode in $episodes do avifile=`ls *.avi | grep --ignore-case "$episode"` srtfile=`ls *.srt | grep --ignore-case "$episode"` new_srtfile= if [ "$srtfile" != "" ]; then if [ ${srtfile%.srt} != ${avifile%.avi} ]; then new_srtfile=${avifile%.avi}.srt mv "$PWD/$srtfile" "$PWD/$new_srtfile" echo "subtitles $srtfile renamed to $new_srtfile" if [ $mv2dir == "yes" ]; then move_to_dir ${episode:4} $new_srtfile $avifile fi elif [ $mv2dir == "yes" ]; then move_to_dir ${episode:4} $srtfile $avifile else echo "subtitles $srtfile already renamed" fi else echo "subtitles for file $avifile not found" fi done
Tiskni
Sdílej:
unrar-nonfree -kb -pheslo -o+ -y x neco.rar
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.