Re: [shell-script] find ( exec/xargs) e for

2009-10-15 Por tôpico George Robinson
Olá Miranda, Muito obrigado pela sua ajuda. Eu criei um nao tao elegante quando o seu: #!/bin/bash DIR="/opt/shoutcast/bin/wma/" find "${DIR}" -iname "*.wma" -exec ffmpeg -i {} -acodec libmp3lame -ab 128k -ac 2 -ar 44100 {}.mp3 \; find "${DIR}" -iname ".*" -prune -o -exec rename 's/\.wma.mp3$

Re: [shell-script] find ( exec/xargs) e for

2009-10-15 Por tôpico miranda
fazer um script a parte com o comando de conversão : ffmpeg -i $1 -acodec ... ${1%.wma}.mp3 ( digamos que o nome seja converte.sh e esteja no seu PATH) então find /opt/shoutcast/bin/ -iname "*.wma" -exec converte.sh {} \; On Thu, 2009-10-15 at 16:43 -0300, George Robinson wrote: > > consegui fa

Re: [shell-script] find ( exec/xargs) e for

2009-10-15 Por tôpico George Robinson
consegui fazer com o seguinte script: #!/bin/bash find /opt/shoutcast/bin/ -iname "*.wma" -exec ffmpeg -i {} -acodec libmp3lame -ab 128k -ac 2 -ar 44100 {}.mp3 \; porém ele converte como "arquivo.wma.mp3" alguem poderia dar uma sugestao?? Att, 2009/10/15 George Robinson > oi thiago, na ve

Re: [shell-script] find ( exec/xargs) e for

2009-10-15 Por tôpico George Robinson
oi thiago, na verdade, foi so erro de digitaçao... tanto que ele executa o script... apenas nao consegue realizar a tarefa... vou testar as sua sugestao... Att, 2009/10/15 Thiago Diniz da Silveira > > > Dando uma olhada rápida está faltando uma " (aspas) no FILE=`find > "${DIR}...` > > Para pe

Re: [shell-script] find ( exec/xargs) e for

2009-10-15 Por tôpico Thiago Diniz da Silveira
Dando uma olhada rápida está faltando uma " (aspas) no FILE=`find "${DIR}...` Para pegar cada entrada no arquivo TXT você pode usar um for assim: for var in $(cat arquivo.txt); do echo $var; done 2009/10/15 George Robinson > > > Mais uma vez estou recorrendo à lista após quebrar a cabeça co

[shell-script] find ( exec/xargs) e for

2009-10-15 Por tôpico George Robinson
Mais uma vez estou recorrendo à lista após quebrar a cabeça com um script que nao dá certo. Eu tenho o seguinte script: DIR="/opt/shoutcast/bin" FILE=`find "${DIR} -iname "*.wma" CONVERT=`ffmpeg -i "$FILE" -acodec libmp3lame -ab 128k -ac 2 -ar 44100 "${FILE%.wma}.mp3"` find "${DIR}" -iname "${FI

[shell-script] Re: Alterar o case de um filename

2009-10-15 Por tôpico Cristiano
--- Em shell-script@yahoogrupos.com.br, George Robinson escreveu > > É possivel alterar o case de um arquivo ou de varios arquivos?? > > ex: ARQUIVO 1 -> arquivo 1 / Arquivo 2 --> arquivo 2 > Meus dois centavos, tudo em uma linha ou, como diz o Júlio, em um 'one liner': for NOME in * ; do NOV

[shell-script] Re: Alterar o case de um filename

2009-10-15 Por tôpico Márcio Gil
Ops! Um pequeno erro que poderia ser fatal... (faltou o $ em `echo old_name...`) for old_name in `find ...` ; do new_name=`echo $old_name | tr [:upper:] [:lower:]` if [ "$new_name" != "$old_name" ] ; then mv -v "$old_name" "$new_name" fi done (A versão original iria mover todos os arqu

Re: [shell-script] Alterar o case de um filename

2009-10-15 Por tôpico Kurt Kraut
Aloha Osvaldo, O dash é um binário menor que o bash, usa menos RAM e é bem mais rápido. Como exemplo, um script meu de 28 linhas quando rodado em bash conclui suas operações em 73 segundos. Já em dash, conclui em 44 segundos. Como o bash apresenta dialetos, sintaxes de scripts que só ele entende,

[shell-script] Re: Alterar o case de um filename

2009-10-15 Por tôpico Marcio Gil
for old_name in `find ...` ; do new_name=`echo old_name | tr [:upper:] [:lower:]` if [ "$new_name" != "$old_name" ] ; then mv -v "$old_name" "$new_name" fi done Nota: as aspas garantem o sucesso mesmo em arquivos com espaços. --- Em shell-script@yahoogrupos.com.br, George Robinson esc

Re: [shell-script] Alterar o case de um filename

2009-10-15 Por tôpico Osvaldo Filho
Muito bom! Não conhecia mesmo! Vou pesquisar um pouco mais... Na verdade, sou iniciante em Shell Script. Comprei o livro do Aurelio, mas não estou tendo muito tempo de me aprofundar! Mesmo assim, sempre que posso to por aqui! Obrigado pela dica! 2009/10/15 Kurt Kraut > > > Aloha Osvaldo, > > O d

RE: [shell-script] Alterar o case de um filename

2009-10-15 Por tôpico Márcio Gil
for old_name in `find ...` ; do new_name=`echo old_name | tr [:upper:] [:lower:]` mv -v "$old_name" "$new_name" done Nota: as aspas garantem o sucesso mesmo em arquivos com espaços. > -Original Message- > From: George Robinson > > É possivel alterar o case de um arquivo ou de varios

Re: [shell-script] Alterar o case de um filename

2009-10-15 Por tôpico Osvaldo Filho
Isso é verdade. Mas meu objetivo foi dá apenas um norte. Esses tratamentos mais "avançados"... temos que sentar um pouco para pensar. 2009/10/15 Waldirio Manhães Pinheiro > > > Boa > > Só um detalhe Kurt e Osvaldo, para arquivos com espaco no nome nao > funciona, > pois o shell reconhece como m

Re: [shell-script] Alterar o case de um filename

2009-10-15 Por tôpico Waldirio Manhães Pinheiro
Boa Só um detalhe Kurt e Osvaldo, para arquivos com espaco no nome nao funciona, pois o shell reconhece como mais de um arquivo. Altere a linha referente ao mv somente, incluindo o "" #!/bin/dash temporario=$(mktemp) ls --ignore-backups --width=1 > $temporario while read nome_antigo do nome_novo

Re: [shell-script] Alterar o case de um filename

2009-10-15 Por tôpico Osvaldo Filho
Como falei era apenas uma ideia inicial. As ideias subsequentes sao mais completas. Gostaria de saber do Kurt Kraut a diferença entre o dash e o bash? Nunca tinha ouvido falar sobre dash. Para você mudar o nome do arquivo, independente de ser maisculo ou minusculo, vc terá que realizar um teste: i

Re: [shell-script] Alterar o case de um filename

2009-10-15 Por tôpico Kurt Kraut
Aloha, Veja se minha abordagem te agrada: #!/bin/dash temporario=$(mktemp) ls --ignore-backups --width=1 > $temporario while read nome_antigo do nome_novo=$(echo $nome_antigo | tr [:upper:] [:lower:]) mv --interactive --verbose $nome_antigo $nome_novo done < $temporario echo "Operação concluída.

Re: [shell-script] Alterar o case de um filename

2009-10-15 Por tôpico George Robinson
Ok Osvaldo, Neste caso, ele vai alterar o case em todo o nome ou ele pode inverter maiusculo por minusculo tbm? Att, 2009/10/15 Osvaldo Filho > > > Vc deve utilizar o comando "tr". > > Por exemplo, > > Vc pode criar uma especie de lista com todos os arquivos e varrer essa > lista > alterando o

Re: [shell-script] Alterar o case de um filename

2009-10-15 Por tôpico Waldirio Manhães Pinheiro
Amigo Para arquivos sem espaço funciona normalmente, para arquivos com espaço, depois vejo com mais calma ;) jeju:[xxx] > ls ARQUIVO1 Arquivo2 jeju:[xxx] > for b in $(ls -1); do echo mv $b $(echo $b | tr '[A-Z]' '[a-z]'); done mv ARQUIVO1 arquivo1 mv Arquivo2 arquivo2 jeju:[xxx] > for b in $(l

Re: [shell-script] Alterar o case de um filename

2009-10-15 Por tôpico Osvaldo Filho
Vc deve utilizar o comando "tr". Por exemplo, Vc pode criar uma especie de lista com todos os arquivos e varrer essa lista alterando o case. tipo: for $arquivo in lista do tr A-Z a-z done. Apenas um esboço! 2009/10/15 George Robinson > > > É possivel alterar o case de um arquivo ou d

[shell-script] Alterar o case de um filename

2009-10-15 Por tôpico George Robinson
É possivel alterar o case de um arquivo ou de varios arquivos?? ex: ARQUIVO 1 -> arquivo 1 / Arquivo 2 --> arquivo 2 Obrigado Att, -- George Robinson Analista de Suporte Tel: (21) 8843-7251 / (21) 8140-2351 [As partes desta mensagem que não continham texto foram removidas]