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

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

Re: [shell-script-pt] Organizar Arquivos


From: Thiago Guimarães Corrêa Keuchguerian
Subject: Re: [shell-script-pt] Organizar Arquivos
Date: Thu, 13 Jul 2023 13:27:54 +0000 (UTC)

Bom dia Vinicuis.
    Deu certo, muito obrigado.

Atenciosamente
Thiago Guimarães Corrêa Keuchguerian
Fone: (017) 9-8804-2658. (Operadora Oi)
Skype: thi.keuchguerian


Em quinta-feira, 13 de julho de 2023 às 09:30:49 BRT, Vinicius Costa Carvalho <vinicius@carvalho.inf.br> escreveu:


Fala mestre!

Fiz da seguinte forma:

#############
#!/bin/bash

# Diretório onde os arquivos estão localizados
diretorio="/srv/Flip/Classificados"

# Percorre todos os arquivos no diretório
cd $diretorio

for arquivo in Classificados*.pdf; do
    if [[ -f "$arquivo" ]]; then
            ano=$(echo $arquivo | grep -Eo "[0-9-]+" | cut -d\- -f3)
            mes=$(echo $arquivo | grep -Eo "[0-9-]+" | cut -d\- -f2)
            dia=$(echo $arquivo | grep -Eo "[0-9-]+" | cut -d\- -f1)
            pasta="$diretorio/$ano/$mes/$dia"
            [[ -d "$pasta" ]] || mkdir -p $pasta
            new_file=$(echo $arquivo | sed 's/ /_/g')

            cp "$arquivo" "$pasta/$new_file"
    fi
done
#############

[]s,

On Thu, Jul 13, 2023 at 8:43 AM Thiago Guimarães Corrêa Keuchguerian por (shell-script-pt) <shell-script-pt@nongnu.org> wrote:
Bom dia pessoal.
    Estou tentando montar um script que vai ler os arquivos de um diretório e gostaria que ele pegasse a data do nome do arquivo e criasse o diretório e movesse o arquivo para dentro dele...

Arquivos
    Classificados 01-07-2023.pdf
    Classificados 02-07-2023.pdf
    Classificados 03-07-2023.pdf
    ....

    Eu preciso criar a pasta
    2023
        07   
            01
                Classificados_20230107.pdf
            02
                Classificados_20230207.pdf

e assim por diante..

    Alguma sugestão de melhoria desse script abaixo que não está funcionando..kk

Script que montei até o momento.
    
#!/bin/bash

# Diretório onde os arquivos estão localizados
diretorio="/srv/Flip/Classificados"

# Percorre todos os arquivos no diretório
for arquivo in "$diretorio"/Classificados*.pdf; do
    if [ -f "$arquivo" ]; then
        # Extrai a data do nome do arquivo
        data_str=$(basename "$arquivo" | cut -d ' ' -f 2 | cut -d '.' -f 1)
        data="" -d "$data_str" +"%d-%m-%Y")

        # Extrai ano, mês e dia da data
        ano=$(date -d "$data" +"%Y")
        mes=$(date -d "$data" +"%m")
        dia=$(date -d "$data" +"%d")

        # Cria a estrutura de pastas com base na data
        pasta_ano="$diretorio/$ano"
        pasta_mes="$pasta_ano/$mes"
        pasta_dia="$pasta_mes/$dia"
        mkdir -p "$pasta_dia"

        echo $arquivo
        # Move o arquivo para a pasta correspondente à data
        cp "$arquivo" "$pasta_dia"
    fi
done




Atenciosamente
Thiago Guimarães Corrêa Keuchguerian
Fone: (017) 9-8804-2658. (Operadora Oi)
Skype: thi.keuchguerian
_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.


--
Vinicius Costa Carvalho

"Se enxerguei mais longe, foi porque me apoiei sobre os ombros de gigantes."
Isaac Newton

reply via email to

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