shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Rename em diretórios


From: Julio C. Neves
Subject: Re: [shell-script] Rename em diretórios
Date: Fri, 11 Aug 2017 15:08:17 -0300

Aí teria de ver a execução para tentar deduzir o que está ocorrendo. Experimente fazer:

export LC_COLLATE=C
Sai=0
for Arq in
do
    [[ -f $(cut -f3- -d' ') ]] && {
        echo $Arq já existe >&2
        Sai=1
        continue
    }
    mv "$Arq" $(cut -f3- -d' ')
    exit $Sai
done

Em Agosto darei um treinamento de 40 horas no RJ e em BSB sobre 
Programação em Shell, com imersão em Expressões Regulares e dicas
de YAD. Para mais detalhes acesse goo.gl/JkWmBx
Em  Dezembro um curso com este mesmo conteúdo/carga horária será
lecionado em SP. Maiores detalhes neste site.

Abcs,
Julio

Damos treinamento em sua empresa por um preço, 
no mínimo, 50% mais barato que qualquer curso,
com certificado e nota fiscal.

​​
Nosso time de instrutores in company é formado somente por
autores
​ ​
de Best Sellers
​ ​
​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico


2017-08-11 14:44 GMT-03:00 mr nobody address@hidden [shell-script] <address@hidden>:
 

Ola Julio.

Muito bom! deu certo, mas ainda continuo com o problema de não renomear todos arquivos de uma vez. Tem algum limite para processamento?

Ou algum outra forma de eu renomear mais de uma pasta de uma vez? Tentei também usando o xargs combinado com o find, mas também não consegui.

São 1070 pastas com essa mesmo formato que te falei. Dessas 1070, 78 não são renomeadas. Mas quando elimino as pastas que já foram renomeadas e executo o

rename, ele renomeia essas 78 pastas. Queria entender por que acontece isso.

Obrigado

Abs

Ps: comprei seus dois livro. Em breve iniciarei a leitura.




Em Sexta-feira, 11 de Agosto de 2017 12:50, "address@hidden [shell-script]" <address@hidden.br> escreveu:


 
Olá pessoal

Estou com uma tarefa aqui que é a seguinte:

tenho uma pasta com 1000 subpastas

Essas subpastas contem o seguinte formato:

0001 - SHELL LTDA
0002 - PETROBRAS
e assim por diante...

O que eu preciso fazer é deixar apenas a string no nome da pasta, sem espaços e os números.

Eu encontrei o seguintes comandos:
    rename 'y/0-9/ /' *
    rename 'y/-/ /' *
    rename 's/^ */ /' *


quando executo eles no bash, funcionam perfeitamente, atendendo a necessidade.

No entanto, quando coloco os comandos acima dentro de um arquivo script shell, executo, ele não renomeia todas as pastas, deixando algumas pendentes.

o erro que aparece relativo as pastas que não foram renomeadas são:

Can't rename  : No such file or directory

Gostaria de saber se vocês podem dar uma pista...


Obs: estou iniciando na programação shell.

Obrigado

E abraços.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]