[shell-script] Script para Renomear arquivos
Colegas de lista, Estive examinando o historico e localizei várias referencias a scripts para renomear arquivos "em massa", no sentido de remover/substituir espaços em branco, letras maiúsculas e acentuação. Muitas discussões foram feitas e várias opções apresentadas. Gostaria de saber se, dentre aquelas alternativas apresentadas, há alguma mais "solida" ou 'universal'. Meu objetivo é programar um script no cron para rodar todos os dias, no sentido de corrigir distorções no diretório /HOME/*, que esta acessivel aos usuários via SAMBA. Apesar de eu ter passado uma "Recomendação" aos usuários, não dá para garantir" Obrigado desde já. Rodrigo.
Re: [shell-script] Duvida de iniciante.
Olá Marcio, primeira lição de Shell: nunca pergunte se é possível fazer, pergunte qual é a melhor forma de fazê-lo... Esta lição vc poderá comprovar praticamente toda hora nesta lista. 1 - Se vc quer Nome Completo *ou* Cidade grep -e ("Nome Completo"|"Cidade") * 2 - Se vc quer Nome Completo *e* Cidade grep -e "Nome Completo" * | grep "Cidade" 3 - Se vc quer somente a qtd de ocorrências, ao invés da opção -e, use -ec Abração, Julio :wq Em 27/07/07, Marcio Antunes <[EMAIL PROTECTED]> escreveu: > > Pessoal, > > Sou novo na programação shell script.. e por isso me desculpe a > pergunta se é simples. > > 1) como eu faço uma pesquisar em um diretorio que contem varios > arquivos, para ele me mostrar o numero de ocorrencia de uma > determinada expressão composta.. > > Exemplo: > > pesquisar nome completo + cidade > > resultado: > > Marcio Antunes = 2 > > é possivel ? > > -- Abraços, Julio http://www.julioneves.com - Um livro sobre Bash completo e on-line :wq [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Duvida de iniciante.
Realmente eu não entendi bem a sua ideia, vamos ver: $ grep -c 'Marcio Antunes' /diretorio/* Vai contar quantas linhas tem 'Marcio Antunes' nos arquivos de /diretorio/* Flavio do Carmo Junior On 7/27/07, Marcio Antunes <[EMAIL PROTECTED]> wrote: > > Pessoal, > > Sou novo na programação shell script.. e por isso me desculpe a > pergunta se é simples. > > 1) como eu faço uma pesquisar em um diretorio que contem varios > arquivos, para ele me mostrar o numero de ocorrencia de uma > determinada expressão composta.. > > Exemplo: > > pesquisar nome completo + cidade > > resultado: > > Marcio Antunes = 2 > > é possivel ? > > [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Array como parametro posicional
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Isto que você quer é factível utilizando um caracter separador diferente para o pseudo-array $1 e espaços para separar os argumentos seguintes. Ainda assim, sugiro estudar o getopts. Segue um link que pode ajudar: http://www.dicas-l.com.br/dicas-l/20060119.php Fabiano Caixeta Duarte Especialista em Redes de Computadores Linux User #195299 Ribeirão Preto - SP Alexandre Reis escreveu: > Prezados, > > Peço ajuda aos notaveis da lista, como faço para uma variavel, parametro posicional $1, ser uma array e sendo como faço para contar o numero de palavras dela ??? > Tem outro problema, tem outras variaveis que vão receber parãmetro posicionais $2, $3, $4. > > ou seja vou passar uma infinidade de palavras separadas por espaço e elas vão ter que ser sempre o parametro $1, > Att. > > Alexandre -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (GNU/Linux) iD8DBQFGqVLL++b4Zs4fOnMRAsASAJ94ZWcZgoAgsWYaUC205uJrZIlitACgjD2p CBgDiqSKtjF/EbE4TVJBWZ4= =x3Mm -END PGP SIGNATURE-
Re: [shell-script] Script para Renomear arquivos
Que tal você nos colar o histórico pesquisado para analisarmos em conjunto qual é a melhor solução? Mas eu adianto que o mais fácil deve ser através do cut e o mais maneiro pelo awk ;-) []'s Gunter Em Sex, 2007-07-27 às 11:11 -0300, Isamp escreveu: > Colegas de lista, > > Estive examinando o historico e localizei várias referencias a scripts > para > renomear arquivos "em massa", no sentido de remover/substituir espaços > em > branco, letras maiúsculas e acentuação. > > Muitas discussões foram feitas e várias opções apresentadas. > > Gostaria de saber se, dentre aquelas alternativas apresentadas, há > alguma > mais "solida" ou 'universal'. > > Meu objetivo é programar um script no cron para rodar todos os dias, > no > sentido de corrigir distorções no diretório /HOME/*, que esta > acessivel > aos usuários via SAMBA. > > Apesar de eu ter passado uma "Recomendação" aos usuários, não dá para > garantir" > > Obrigado desde já. > > Rodrigo. > > > > > > [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Duvida de iniciante.
Bicho, use: grep -e (nome|cidade) | wc -l []'s Gunter Em Sex, 2007-07-27 às 10:24 -0300, Marcio Antunes escreveu: > Pessoal, > > Sou novo na programação shell script.. e por isso me desculpe a > pergunta se é simples. > > 1) como eu faço uma pesquisar em um diretorio que contem varios > arquivos, para ele me mostrar o numero de ocorrencia de uma > determinada expressão composta.. > > Exemplo: > > pesquisar nome completo + cidade > > resultado: > > Marcio Antunes = 2 > > é possivel ? > > > > > [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Duvida de iniciante.
Obrigado Pessoal pelo exclarecimento.. Julio.. E por isso que tenho o seu livro 6a. edição autografado por você.. conheci vc em Joao Pessoa no encontro de software livre no ano passado.. Só agora.. estou começando no shell. Se querer abusar.. mas como eu faço um laço usando for ou while em uma sequencia de comandos, vi um exemplo no seu livro.. porem não obtive exito.. sei que é facil..mas fazer o que..?? o que eu quero é fazer que seja executado uma determinda quantide de comandos.. assim for i in 4 do comando 1 comando 2 comando 3 comando 4 done Ou seja, quero fazer um laço que só mude o numero de acordo com quantidade do for.. neste caso 4. Deram para entender ?? Em 27/07/07, Julio C. Neves <[EMAIL PROTECTED]> escreveu: > > > > > > > Olá Marcio, > primeira lição de Shell: nunca pergunte se é possível fazer, pergunte qual é > a melhor forma de fazê-lo... Esta lição vc poderá comprovar praticamente > toda hora nesta lista. > > 1 - Se vc quer Nome Completo *ou* Cidade > grep -e ("Nome Completo"|"Cidade") * > > 2 - Se vc quer Nome Completo *e* Cidade > grep -e "Nome Completo" * | grep "Cidade" > > 3 - Se vc quer somente a qtd de ocorrências, ao invés da opção -e, use -ec > > Abração, > Julio > :wq > > Em 27/07/07, Marcio Antunes <[EMAIL PROTECTED]> escreveu: > > > > > Pessoal, > > > > Sou novo na programação shell script.. e por isso me desculpe a > > pergunta se é simples. > > > > 1) como eu faço uma pesquisar em um diretorio que contem varios > > arquivos, para ele me mostrar o numero de ocorrencia de uma > > determinada expressão composta.. > > > > Exemplo: > > > > pesquisar nome completo + cidade > > > > resultado: > > > > Marcio Antunes = 2 > > > > é possivel ? > > > > > > -- > Abraços, > Julio > http://www.julioneves.com - Um livro sobre Bash completo e on-line > :wq > > > [As partes desta mensagem que não continham texto foram removidas] > > > > >
Re: [shell-script] Duvida de iniciante.
Marcio, uma saida seria usar greps encadeados... :-) grep 'nome completo' * | grep cidade | wc -l O primeiro grep recupera as linhas dos arquivos que tenham o nome completo, o segundo garante que estas linhas tenha a cidade e o wc conta o número de linhas com estas ocorrencias. Espero que dê para você começar... ;-) Abraços, William Em 27/07/07, Marcio Antunes <[EMAIL PROTECTED]> escreveu: > > Pessoal, > > Sou novo na programação shell script.. e por isso me desculpe a > pergunta se é simples. > > 1) como eu faço uma pesquisar em um diretorio que contem varios > arquivos, para ele me mostrar o numero de ocorrencia de uma > determinada expressão composta.. > > Exemplo: > > pesquisar nome completo + cidade > > resultado: > > Marcio Antunes = 2 > > é possivel ? > > [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Duvida de iniciante.
Pesquise os comandos grep e wc On 7/27/07, Marcio Antunes <[EMAIL PROTECTED]> wrote: > > Pessoal, > > Sou novo na programação shell script.. e por isso me desculpe a > pergunta se é simples. > > 1) como eu faço uma pesquisar em um diretorio que contem varios > arquivos, para ele me mostrar o numero de ocorrencia de uma > determinada expressão composta.. > > Exemplo: > > pesquisar nome completo + cidade > > resultado: > > Marcio Antunes = 2 > > é possivel ? > > -- []'s Alfredo Casanova Linux User #228230 icq: 15793271 msn: [EMAIL PROTECTED] aim: alfredotcasanova yim: atcasanova2 tel: +55 61 84137319 As aves têm na boca um dente chamado bico [As partes desta mensagem que não continham texto foram removidas]
[shell-script] Duvida de iniciante.
Pessoal, Sou novo na programação shell script.. e por isso me desculpe a pergunta se é simples. 1) como eu faço uma pesquisar em um diretorio que contem varios arquivos, para ele me mostrar o numero de ocorrencia de uma determinada expressão composta.. Exemplo: pesquisar nome completo + cidade resultado: Marcio Antunes = 2 é possivel ?
Re: [shell-script] Duvida de iniciante.
Márcio, eu não entendi bem, mas uma forma é: for i in 1 2 3 4 do comando $i done Se for usar desta forma e for executar muitas vezes (por exemplo 40) você pode usar o for desta forma: for i in `seq 1 40` Abracos, William Em 27/07/07, Bruno Gunter Fricke <[EMAIL PROTECTED]> escreveu: > > Bicho, use: > > grep -e (nome|cidade) | wc -l > > []'s > Gunter > > Em Sex, 2007-07-27 às 10:24 -0300, Marcio Antunes escreveu: > > Pessoal, > > > > Sou novo na programação shell script.. e por isso me desculpe a > > pergunta se é simples. > > > > 1) como eu faço uma pesquisar em um diretorio que contem varios > > arquivos, para ele me mostrar o numero de ocorrencia de uma > > determinada expressão composta.. > > > > Exemplo: > > > > pesquisar nome completo + cidade > > > > resultado: > > > > Marcio Antunes = 2 > > > > é possivel ? > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Duvida de iniciante.
Olha vou explicar.. melhor Tenho um script para executar 100 vezes um comando dentro do for.. Seria algo semelhante a esse for aqui. for i to 100 do comando=$i done Eu fiz e não executou..apareceu 100, se eu digitar o 100, 101,102,, aparece 100,101,102.. porem é seria inviavel digitar uma sequencia grande de numeros. o que quero é implementar o i e que apareca na tela assim comando1 comando2 comando3 comando4 comando... comando.. comando100 usando o seq ele dar erro... estou usando bash no FreeBSD. Em 27/07/07, William José Vicente <[EMAIL PROTECTED]> escreveu: > > > > > > > Márcio, > > eu não entendi bem, mas uma forma é: > > for i in 1 2 3 4 > do > comando $i > done > > Se for usar desta forma e for executar muitas vezes (por exemplo 40) você > pode usar o for desta forma: for i in `seq 1 40` > > Abracos, > > William > > Em 27/07/07, Bruno Gunter Fricke <[EMAIL PROTECTED]> escreveu: > > > > > Bicho, use: > > > > grep -e (nome|cidade) | wc -l > > > > []'s > > Gunter > > > > Em Sex, 2007-07-27 às 10:24 -0300, Marcio Antunes escreveu: > > > Pessoal, > > > > > > Sou novo na programação shell script.. e por isso me desculpe a > > > pergunta se é simples. > > > > > > 1) como eu faço uma pesquisar em um diretorio que contem varios > > > arquivos, para ele me mostrar o numero de ocorrencia de uma > > > determinada expressão composta.. > > > > > > Exemplo: > > > > > > pesquisar nome completo + cidade > > > > > > resultado: > > > > > > Marcio Antunes = 2 > > > > > > é possivel ? > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > >
Re: [shell-script] Script para Renomear arquivos
Acho que a maneira mais robusta de 'arrumar' o nome de um arquivo ou diretorio está nas funcoeszz.net usando find, xargs e zzarrumanome o problema ta resolvido. On 7/27/07, Isamp <[EMAIL PROTECTED]> wrote: > > Colegas de lista, > > Estive examinando o historico e localizei várias referencias a scripts > para > renomear arquivos "em massa", no sentido de remover/substituir espaços em > branco, letras maiúsculas e acentuação. > > Muitas discussões foram feitas e várias opções apresentadas. > > Gostaria de saber se, dentre aquelas alternativas apresentadas, há alguma > mais "solida" ou 'universal'. > > Meu objetivo é programar um script no cron para rodar todos os dias, no > sentido de corrigir distorções no diretório /HOME/*, que esta acessivel > aos usuários via SAMBA. > > Apesar de eu ter passado uma "Recomendação" aos usuários, não dá para > garantir" > > Obrigado desde já. > > Rodrigo. > > > -- Tiago B Peczenyj Linux User #405772 http://peczenyj.blogspot.com/ [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Script para Renomear arquivos
Poizé ... De fato, parece que as "funçõeszz" são uma excelente opção. Abaixo alumas mensagens desta lista que tratam do assunto, conforme solicitou nosso colega Marcio antunes. http://br.groups.yahoo.com/group/shell-script/message/22890 http://br.groups.yahoo.com/group/shell-script/message/22630 http://br.groups.yahoo.com/group/shell-script/message/20199 Tiago Barcellos Peczenyj escreveu: > Acho que a maneira mais robusta de 'arrumar' o nome de um arquivo ou > diretorio está nas funcoeszz.net > > usando find, xargs e zzarrumanome o problema ta resolvido. > > On 7/27/07, Isamp <[EMAIL PROTECTED]> wrote: > >> Colegas de lista, >> >> Estive examinando o historico e localizei várias referencias a scripts >> para >> renomear arquivos "em massa", no sentido de remover/substituir espaços em >> branco, letras maiúsculas e acentuação. >> >> Muitas discussões foram feitas e várias opções apresentadas. >> >> Gostaria de saber se, dentre aquelas alternativas apresentadas, há alguma >> mais "solida" ou 'universal'. >> >> Meu objetivo é programar um script no cron para rodar todos os dias, no >> sentido de corrigir distorções no diretório /HOME/*, que esta acessivel >> aos usuários via SAMBA. >> >> Apesar de eu ter passado uma "Recomendação" aos usuários, não dá para >> garantir" >> >> Obrigado desde já. >> >> Rodrigo. >> >> >> >> > > > > [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Script para Renomear arquivos
Por exemplo, eu tenho um arquivo em ./recursos_humanos/Arquivos Diversos/cobrança_locação.ods que eu submeto assim: # zzarrumanome "./recursos_humanos/Arquivos Diversos/cobrança_locação.ods" ou assim # zzarrumanome ./recursos_humanos/Arquivos Diversos/cobrança_locação.ods e não remove acentos ... Se é que eu entendi direito ... zzarrumanome deveria remover acentos ? Isamp escreveu: > Poizé ... De fato, parece que as "funçõeszz" são uma excelente opção. > > Abaixo alumas mensagens desta lista que tratam do assunto, conforme > solicitou > nosso colega Marcio antunes. > > http://br.groups.yahoo.com/group/shell-script/message/22890 > http://br.groups.yahoo.com/group/shell-script/message/22630 > http://br.groups.yahoo.com/group/shell-script/message/20199 > > > > Tiago Barcellos Peczenyj escreveu: > >> Acho que a maneira mais robusta de 'arrumar' o nome de um arquivo ou >> diretorio está nas funcoeszz.net >> >> usando find, xargs e zzarrumanome o problema ta resolvido. >> >> On 7/27/07, Isamp <[EMAIL PROTECTED]> wrote: >> >> >>> Colegas de lista, >>> >>> Estive examinando o historico e localizei várias referencias a scripts >>> para >>> renomear arquivos "em massa", no sentido de remover/substituir espaços em >>> branco, letras maiúsculas e acentuação. >>> >>> Muitas discussões foram feitas e várias opções apresentadas. >>> >>> Gostaria de saber se, dentre aquelas alternativas apresentadas, há alguma >>> mais "solida" ou 'universal'. >>> >>> Meu objetivo é programar um script no cron para rodar todos os dias, no >>> sentido de corrigir distorções no diretório /HOME/*, que esta acessivel >>> aos usuários via SAMBA. >>> >>> Apesar de eu ter passado uma "Recomendação" aos usuários, não dá para >>> garantir" >>> >>> Obrigado desde já. >>> >>> Rodrigo. >>> >>> >>> >>> >>> >> >> >> > > > [As partes desta mensagem que não continham texto foram removidas] > > > > - > Esta lista não admite a abordagem de outras liguagens de programação, como > perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio > aviso. > - > Sair da lista: [EMAIL PROTECTED] > - > Esta lista é moderada de acordo com o previsto em > http://www.listas-discussao.cjb.net > - > Servidor Newsgroup da lista: news.gmane.org > Grupo: gmane.org.user-groups.programming.shell.brazil > > > Links do Yahoo! Grupos > > > > > [As partes desta mensagem que não continham texto foram removidas]