|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2012
Messaggi: 3
|
Shell: codificare file vecchi di 6 ore con determinata estensione
Ciao a tutti,
spero che qualcuno possa essermi di aiuto... Allora.... Ho bisogno di fare un piccolo script che deve entrare in una determinata directory e rilevi file video vecchi di 6 ore con estensione .ASF e le ricodifichi con ffmpeg in formato .avi. (preservando lo stesso nome) Il comando con ffmpeg è normalmente questo: ffmpeg -i /percorso/Sala/nomefile.asf -acodec copy -vcodec copy /percorso/nomefile.avi Ma come faccio ad indicare di rilevare TUTTI i file con estensione .ASF più vecchi di 6 ore e ricodificarli automaticamente in .AVI ? Magari preservando lo stesso nome cancellando il "vecchio file .ASF" già codificato. Grazie a tutti per la collaborazione. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Codice:
#!/bin/bash MINUTI=360 INDIR="/percorso/Sala" OUTDIR="/percorso" find "$INDIR" -iname "*.asf" -mmin +$MINUTI | while read file ; do FILENAME=$(basename "$file" | sed -e 's/\.\(.\{4\}\|.\{3\}\|.\{2\}\|.\{1\}\)$//') ffmpeg -i "$file" -acodec copy -vcodec copy "$OUTDIR/$FILENAME.avi" # rm "$file" done Non ho parametrizzato asf. L'espressione regolare è un po' eccessiva, ma jolly per estensioni da 1 a 4 lettere di lunghezza. L'rm finale è commentato per non fare come il sottoscritto che s'è appena rimescolato i due file di prova utilizzati. È tardi, non garantisco che non possa installarti un nuovo sistema operativo o far perdere le foglie ai gerani sul davanzale, controllalo e fai delle prove! P.S. ho provato ad usare exec di find per aver un solo comando, ma non son riuscito ad incastrarci il nome pulito del file.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: May 2012
Messaggi: 3
|
Grazie !
Mi metto subito all'opera !!! Sei un Grande !!! |
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: May 2012
Messaggi: 3
|
Tutto OK ... Solo nella variabile dei minuti ho dovuto inserire il simbolo "-" anziché "+"
Grazie infinite ! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:05.