Scripting help

Eric Shubert ejs at shubes.net
Sun Aug 2 11:31:48 MST 2009


Eric Shubert wrote:
> Shawn Badger wrote:
>> I have bee playing with this script for a while and I can't seem to find 
>> the magic to make it work right. The script basically takes all the avi 
>> files in in a folder and converts them to flash.
>> Here is the simple script:
>>
>> #!/bin/sh
>> ls *.avi|cut -d. -f1 | while read i
>>     do
>>     echo "this is the file "$i
>>     ffmpeg -i $i.avi -ar 22050 -f flv ./flv/$i.flv
>>     done
>>
>>
>> The script does the first file it finds and then exits with no errors.
>> If I comment out the ffmpeg line it runs as expected though all the files.
>>
>> Oh, I need to allow for spaces in the file names as well.
>>
>> Any ideas?
>>
> 
> #!/bin/sh
> ls *.avi | while read fileavi
> do
>    filebase="${fileavi%.avi}"
>    echo "this is the file: \"$filebase\""
>    ffmpeg -i "$fileavi" -ar 22050 -f flv "./flv/$filebase.flv"
> done
> 

You'll need the -1 option on the ls command so that each file is on a 
separate line, and the read command will read the whole filename with 
spaces.

-- 
-Eric 'shubes'



More information about the PLUG-discuss mailing list