Ik gebruik een bash-script om video's van verschillende formaten in één directory automatisch te converteren met HandbrakeCLI naar iPad formaat, en het origineel daarna te verwijderen. In die directory kunnen dus .avi, .mkv, .mov of andere bestanden door elkaar staan.
Ik heb nu het volgende scriptje gemaakt:
Het IFS/SAVEIFS gedeelte heb ik uit een ander scriptje gehaald om zo bestandsnamen met spaties te kunnen verwerken.
Dit scriptje werkt prima, behalve het feit dat nu als bestandextensie overal .mp4 achter komt te staan. Dat is uiteraard de bedoeling, maar de oude extensie blijft staan.
Voorbeeld:
test.mkv => test.mkv.mp4
anderbestand.mov => anderbestand.mov.mp4
enz...
Ik zou graag willen dat in bovenstaand scriptje de oude extensie weggehaald wordt en alleen de nieuwe (.mp4) achter de bestandsnaam komt, dus:
test.mkv => test.mp4
anderbestand.mov => anderbestand.mp4
enz...
Ik heb al zitten klooien met basename, maar ik krijg het niet voor elkaar...
Heeft iemand een tip?
Ik heb nu het volgende scriptje gemaakt:
code:
1
2
3
4
5
6
7
| #!/bin/bash SAVEIFS=$IFS IFS=$(echo -en "\n\b") for file in `ls /home/homedir/ToConvert/`; do $(HandBrakeCLI -i /home/homedir/ToConvert/${file} -o /home/homedir/Converted/${file}.mp4 --preset="iPad" && rm /home/homedir/ToConvert/${file}); done IFS=$SAVEIFS |
Het IFS/SAVEIFS gedeelte heb ik uit een ander scriptje gehaald om zo bestandsnamen met spaties te kunnen verwerken.
Dit scriptje werkt prima, behalve het feit dat nu als bestandextensie overal .mp4 achter komt te staan. Dat is uiteraard de bedoeling, maar de oude extensie blijft staan.
Voorbeeld:
test.mkv => test.mkv.mp4
anderbestand.mov => anderbestand.mov.mp4
enz...
Ik zou graag willen dat in bovenstaand scriptje de oude extensie weggehaald wordt en alleen de nieuwe (.mp4) achter de bestandsnaam komt, dus:
test.mkv => test.mp4
anderbestand.mov => anderbestand.mp4
enz...
Ik heb al zitten klooien met basename, maar ik krijg het niet voor elkaar...
Heeft iemand een tip?