SHELL SCRIPT CONCATENAÇÃO E COMPOSIÇÃO DE NOVE DE ARQUIVO

1. SHELL SCRIPT CONCATENAÇÃO E COMPOSIÇÃO DE NOVE DE ARQUIVO

net_hw net_hw
net_hw

(usa Slackware)

Enviado em 05/12/2007 - 15:11h

Ola pessoal

Preciso converter juntar colando um grupo de arquivos de audio 2 a 2 para um sistema de hora certa (radio) os arquivos estão no formato HRShh.mp3 e MINmm.mp3 o arquivo resultante deve ter o formato de nome hhmm.mp3 não sei como fazer isso facilmente com windows(DOS) e imagino que com shell deva usar um sistemaa de dois loops FOR de 00 a 12 e de 00 a 59 mas só tenho uma ideia vaga de como fazer.

desde já eu agradeço qualquer ajuda.....


[]´s
hw


  


2. a sintaxe deve estar quase correta:

net_hw net_hw
net_hw

(usa Slackware)

Enviado em 22/03/2008 - 02:13h

a sintaxe deve estar quase correta:


#!/bin/bash

for var1 00 to 24
lame --decode HRSvar1.mp3 HRSvar1.wav

for var2 01 to 59
lame --decode MINvar2.mp3 MINvar2.wav
soxmix HRSvar1.wav MINvar2.wav var1+var2.wav
lame var1+var2.wav
end

end


ai pergunto alguem que tem boa sintaxe de shell da uma ajuda por favor
outra pergunta é :
alguem conhece uma distro que boota por CDROM e tem o lame o sox (somix) e o bash?????????




3. melhorando um pouco

net_hw net_hw
net_hw

(usa Slackware)

Enviado em 22/03/2008 - 03:11h

#!/bin/bash

for(var1=00; var1 <= 24; var1++);
do

lame --decode HRSvar1.mp3 HRSvar1.wav

for(var2=01; var2 <= 59; var2++);
do
lame --decode MINvar2.mp3 MINvar2.wav
soxmix HRSvar1.wav MINvar2.wav var1+var2.wav
lame var1+var2.wav
done

done



4. SHELL SCRIPT CONCATENAÇÃO E COMPOSIÇÃO DE NOVE DE ARQUIVO

net_hw net_hw
net_hw

(usa Slackware)

Enviado em 04/04/2008 - 03:30h

Meu script ta ficando dessa forma porem ainda tenho umas duvidas de
shell script e sox as duvidas sobre o sox são bem especificas, mas
as de shell sao basicas qualquer pessoa com conhecimento de shell
pode ajudar e eu agradeco desde jah.


#!/bin/bash

for(var1=00; var1 <= 23; var1++);
do

lame --decode HRSvar1.mp3 HRSvar1.wav

#rm HRSvar1.mp3 # add estas lin. quando estiver tudo OK

for(var2=01; var2 <= 59; var2++);
do
lame --decode MINvar2.mp3 MINvar2.wav

#rm MINvar2.mp3

soxmix HRSvar1.wav MINvar2.wav var1+var2.wav

#rm HRSvar1.wav
#rm MINvar2.wav

lame var1+var2.wav var1+var2.mp3

#rm var1+var2.wav

done

done

################################################################################
#
#minhas duvidas de shell: -para var1 e var2 os valores devem ter 2 casas assim
# 00 e nao 0 01 e nao 1
# como se faz isso em shell?????zero padding no shell
# ou seja, converter o numerico 0 na string ou char 00?
#
# -onde se leh var1+var2 o script deve concatenar o valor das variaveis
# como uma string ou char exemplo se var1 = 01 e var2 = 01 o resultado
# deve ser 0101.wav ou 0101.mp3 dependendo do caso.
#
################################################################################
#
#minhas duvidas de SOX : -soxmix nao esta funcionando a contento cruza os arquivos de forma bem
# estranha nao deu certo a mixagem que preciso fazer ‚ do tipo colagem
# onde o silencio no final do 1o. file HRSvar1.wav eh totalmente removido
# e o silencio no inico do 2o. file MINvar2.wav idem em
# seguida sao colados sem nenhum tipo de cruzamento.
#
# -usando sox ao inves de soxmix a colagem funciona mas preciso ainda
# remover o silencio no final do 1o. file e no inicio do 2o. file
# parece ser necessario usar sox em conjunto com o EFFECT silence
# porem as paginas de manual deixam a desejar quanto ao uso e
# aplicacao desses comandos.
#




5. SHELL SCRIPT CONCATENAÇÃO E COMPOSIÇÃO DE NOVE DE ARQUIVO

net_hw net_hw
net_hw

(usa Slackware)

Enviado em 04/04/2008 - 15:36h

resolvi os problemas com sox agora é só shell script mesmo : segue o novo esboço do script

#!/bin/bash

for(var1=00; var1 <= 23; var1++); # acerta zero padding
do

system( "lame --decode hrs$var1.mp3 $tmp.wav" );#acert. compos. do nome e zero pad
# Reverse file to trim the end
system( "sox $tmp.wav $tmp.wav reverse" );
# Trim the end
system( "sox $tmp.wav $tmp.wav silence 1 0 -40d" );
# Reverse back to original direction
system( "sox $tmp.wav $tmp1.wav reverse" );

for(var2=01; var2 <= 59; var2++);
do
system( "lame --decode min$var2.mp3 $tmp.wav" );
# Trim silence at the beginning
system( "sox $tmp.wav $tmp2.wav silence 1 0 -40d" );

system( "sox $tmp1.wav $tmp2.wav $tmp.wav" );

system( "lame $tmp.wav var1+var2.mp3" );


done

done

#####################################################################################

#minhas duvidas de shell: -para var1 e var2 os valores devem ter 2 casas assim 00 e não 0
# 01 e não 1
# como se faz isso em shell?????
# ou seja converter o numerico 0 na string ou char 00?

# -onde se lê var1+var2 o script deve concatenar o valor das variaveis
# como uma string ou char exemplo se var1 = 01 e var2 = 01 o resultado
# deve ser 0101.mp3


#minhas duvidas de SOX : - resolvidas no google e JustLinux Forums testei manualmente
funciona com muita perfeição esta parte esta resolvida



6. Exemplos

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 06/04/2008 - 00:51h

------------
para var1 e var2 os valores devem ter 2 casas assim 00 e não 0
------------

Use o bash built-in 'printf' assim:
printf "%03d\n" $var

Ex.:
var=6
for ((i=0 ; i < 5 ; i++))
do
printf "%03d\n" "$var"
((var++))
done

Saída:
006
007
008
009
010

------------
onde se lê var1+var2 o script deve concatenar o valor das variaveis como uma string ou char exemplo se var1 = 01 e var2 = 01 o resultado deve ser 0101.mp3
------------

Tente assim:
Ex.:
var1=01
var2=02

$ echo $var1$var2
$ 0102

Espero que esses EXEMPLOS lhe ajudem na construção do seu script!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts