Proszę o pomoc w takiej sprawie.
W danym folderze mam plik (film) o nazwie CD-1.avi.
Plik ten został utworzony za pomocą polecenia:
Kod: Zaznacz cały
mencoder -ovc copy -oac copy -endpos 300mb -o $(echo "CD-1.avi") *.wmv
Dziękuje za wskazówki.
Kod: Zaznacz cały
mencoder -ovc copy -oac copy -endpos 300mb -o $(echo "CD-1.avi") *.wmv
Kod: Zaznacz cały
numer=`ls CD-* | awk -F. 'BEGIN {m=0}; /-[0-9]/ {n=int(substr($1,4));if (n>m) m=n} END {print m+1}'`
Kod: Zaznacz cały
$"numer=`ls CD-* | awk -F. 'BEGIN {m=0}; /-[0-9]/ {n=int(substr($1,4));if (n>m) m=n} END {print m+1}'`"
numer=4: command not found
Kod: Zaznacz cały
$ echo "numer=`ls CD-* | awk -F. 'BEGIN {m=0}; /-[0-9]/ {n=int(substr($1,4));if (n>m) m=n} END {print m+1}'`"
numer=4
Kod: Zaznacz cały
$ numer=$(`ls CD-* | awk -F. 'BEGIN {m=0}; /-[0-9]/ {n=int(substr($1,4));if (n>m) m=n} END {print m+1}'`)
4: command not found
Kod: Zaznacz cały
#!/bin/bash
nazwa=`ls CD-* | sort | tail -1`
nazwa=${nazwa%.*}
nazwa=${nazwa:3}
nazwa=CD-$(($nazwa+1)).avi
touch $nazwa
myslisz, ze numery plikow zawsze beda jednocyfrowe?Yakub pisze: Jeżeli dobrze myślę
W tej postaci skrypt nie działa.Yakub pisze:Jeżeli dobrze myślę, to zamiast touch będzie to Twoje polecenie mencoder
Kod: Zaznacz cały
#!/bin/bash
nazwa=`ls CD-* | sort | tail -1`
nazwa=${nazwa%.*}
nazwa=${nazwa:3}
nazwa=CD-$(($nazwa+1)).avi
touch $nazwa
Wynik:
temp1: 4: Bad substitution
Kod: Zaznacz cały
#!/bin/bash
zm=0
for file in `ls CD-*`; do
numer=${file%.*}
numer=${numer:3}
if [ $zm -lt $numer ]
then
zm=$numer
fi
done
touch CD-$(($zm+1)).avi
Próbuje Twojego sposobu, ale wychodzą różne błędy. Możesz dokładnie napisać, w które miejsce skryptu mam wstawić poniższe polecenie?Yakub pisze:Ten już powinien działać
Kod: Zaznacz cały
mencoder -ovc copy -oac copy -endpos 300mb -o CD-1.avi *.wmv
Kod: Zaznacz cały
#!/bin/bash
zm=0
for file in `ls CD-*`; do
numer=${file%.*}
numer=${numer:3}
if [ $zm -lt $numer ]
then
zm=$numer
fi
done
mencoder -ovc copy -oac copy -endpos 300mb -o CD-$(($zm+1)).avi *.wmv
Kod: Zaznacz cały
$ sh nowy
nowy: 10: Bad substitution
Kod: Zaznacz cały
./skrypt
Kod: Zaznacz cały
sh skrypt
Kod: Zaznacz cały
./skrypt
Kod: Zaznacz cały
sh nazwa_skryptu
Kod: Zaznacz cały
bash nazwa_skryptu
Kod: Zaznacz cały
sh nazwa_skryptu
Kod: Zaznacz cały
#!/bin/bash
mkdir katalog
Kod: Zaznacz cały
sh tworzy_katalog
Kod: Zaznacz cały
$(zm=0; for file in `ls CD-*`; do numer=${file%.*} numer=${numer:3}; if [ $zm -lt $numer ]; then zm=$numer; fi; done; CD-$(($zm+1)).avi)
Kod: Zaznacz cały
$(zm=0; for file in `ls CD-*`; do numer=${file%.*} numer=${numer:3}; if [ $zm -lt $numer ]; then zm=$numer; fi; done; CD-$(($zm+1)).avi)
CD-5542.avi: command not found
Kod: Zaznacz cały
nazwa=$(zm=0; for file in `ls CD-*`; do numer=${file%.*} numer=${numer:3}; if [ $zm -lt $numer ]; then zm=$numer; fi; done; echo CD-$(($zm+1)).avi)
echo $nazwa
Kod: Zaznacz cały
echo $(zm=0; for file in `ls CD-*`; do numer=${file%.*} numer=${numer:3}; if [ $zm -lt $numer ]; then zm=$numer; fi; done; echo CD-$(($zm+1)).avi)
Kod: Zaznacz cały
#!/bin/bash
zm=0
for file in `ls CD-*`; do
numer=${file%.*}
numer=${numer:3}
if [ $zm -lt $numer ]
then
zm=$numer
fi
done
mencoder -ovc copy -oac copy -endpos 300mb -o CD-$(($zm+1)).avi *.wmv
to chyba dobrze, że powstał taki temat, bo przecież informacje w nim zawarte będą dostępne dla wszystkich.ethanak pisze:a taki skrypcik paru osobom pewnie by się przydał...
Kod: Zaznacz cały
#!/bin/bash
totlen=0
name="$1"
size="300mb"
orglen=`mplayer -identify -nosound -vo null -frames 0 "$name" 2>/dev/null | awk -F= '/ID_LEN/ {print int($2)}'`
echo "Czas trwania: $orglen"
n=0
while let "$totlen<$orglen-2"; do
let "n=$n+1"
mencoder -oac copy -ovc copy -endpos $size -ss $totlen -o CD-$n.avi "$name" >/dev/null
sleng=`mplayer -identify -nosound -vo null -frames 0 CD-$n.avi 2>/dev/null | awk -F= '/ID_LEN/ {print int($2)}'`
echo "Czas trwania fragmentu: $sleng"
let "totlen=$totlen+$sleng"
echo "Czas całkowity: $totlen"
done
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 6 gości