Criar uma pasta para cada filme.

1. Criar uma pasta para cada filme.

Paulo márcio Figueiredo cardoso
Paulo.marciofc

(usa Ubuntu)

Enviado em 23/11/2018 - 17:30h

Galera tenho uma pasta cheia de filmes, gostaria de saber se é possível criar um comando que crie uma pasta para cada, essa pasta precise ter o nome do filme que esta dentro dela, gostaria de fazer isso para organizar as capas com cada filme.
Estava fazendo assim, já baixando criando a pasta e renomeando, mais agora tenho vários já baixados.
Se poderem arrumar meu comando também agradeço. Retirei o link certo estava muito grande.


cd / && cd /home && cd Acao && mkdir thorragnarok && cd thorragnarok && wget https://www.dropbox.com/Ragnarok.mp4?dl=1; wget https://www.dropbox.com/s/Ragnarok.jpg?dl=1 && for arq in *?dl=1*; do mv $arq `echo $arq|sed 's/?dl=1//'` && for arq in *?dl=1*; do mv $arq `echo $arq|sed 's/?dl=1//'` && cd ..; done


  


2. Re: Criar uma pasta para cada filme.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 23/11/2018 - 18:38h

Paulo.marciofc escreveu:

Galera tenho uma pasta cheia de filmes, gostaria de saber se é possível criar um comando que crie uma pasta para cada, essa pasta precise ter o nome do filme que esta dentro dela, gostaria de fazer isso para organizar as capas com cada filme.
Estava fazendo assim, já baixando criando a pasta e renomeando, mais agora tenho vários já baixados.
Se poderem arrumar meu comando também agradeço. Retirei o link certo estava muito grande.


cd / && cd /home && cd Acao && mkdir thorragnarok && cd thorragnarok && wget https://www.dropbox.com/Ragnarok.mp4?dl=1; wget https://www.dropbox.com/s/Ragnarok.jpg?dl=1 && for arq in *?dl=1*; do mv $arq `echo $arq|sed 's/?dl=1//'` && for arq in *?dl=1*; do mv $arq `echo $arq|sed 's/?dl=1//'` && cd ..; done


Boa noite.
O comando abaixo "pega" os arquivos da pasta ORIGEM com a Extensão definida e
o nome da nova pasta, que é o arquivo sem a extensão...
Segue:
for arq in $(ls -1 /ORIGEM/*.EXTENSÃO);do
pasta=$(sed -r 's/\.[a-z]+$//' <<< "$arq"|awk -F"/" '{print $NF}')
echo "Arquivo: $arq : Pasta: $pasta"
done

Att.:
Marcelo Oliver


3. Criar uma pasta para cada filme.

Paulo márcio Figueiredo cardoso
Paulo.marciofc

(usa Ubuntu)

Enviado em 24/11/2018 - 11:02h

Sim mais ele não coloca cada um em uma pasta nem com o nome dele.


4. Re: Criar uma pasta para cada filme.

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 24/11/2018 - 15:08h

v aí se te serve

Lista arquivos .mp4 do diretório, cria diretórios com os nomes e os move.

#!/bin/bash
for x in `ls *.mp4`;do
path=`echo $x | cut -d'.' -f1`
mkdir $path
mv $x $path
done


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



5. Re: Criar uma pasta para cada filme.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 24/11/2018 - 16:51h

Paulo.marciofc escreveu:

Sim mais ele não coloca cada um em uma pasta nem com o nome dele.


Em nenhum momento "disse" que o script cria a pasta e coloca o arquivo na mesma....
O mesmo, define as variáveis, arq e pasta....
Ai é somente dar os comandos para a criação das pastas e para mover os arquivos....
Bastante simples....

for arq in $(ls -1 /ORIGEM/*.EXTENSÃO);do
pasta=$(sed -r 's/\.[a-z]+$//' <<< "$arq"|awk -F"/" '{print $NF}')
echo "Arquivo: $arq : Pasta: $pasta"
done


att.:
marcelo oliver


6. Re: Criar uma pasta para cada filme.

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 24/11/2018 - 22:23h

Veja aí se resolve:
#!/bin/bash

# Local dos arquivos e extensão dos mesmos
DIR="$HOME/Vídeos"
EXT="mp4"

# Evita problemas com espaços nos nomes dos arquivos
IFSOLD=$IFS
IFS=$'\n'

# Cria uma pasta para cada arquivo e o move para dentro
for ARQ in $(ls -1 $DIR/*.$EXT); do
PASTA=${ARQ%.$EXT}
mkdir $PASTA && mv $ARQ $PASTA
done

# Restaura o IFS padrão
IFS=$IFSOLD



7. Re: Criar uma pasta para cada filme.

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 24/11/2018 - 23:44h

Ryuk escreveu:

Veja aí se resolve:
#!/bin/bash

# Local dos arquivos e extensão dos mesmos
DIR="$HOME/Vídeos"
EXT="mp4"

# Evita problemas com espaços nos nomes dos arquivos
IFSOLD=$IFS
IFS=$'\n'

# Cria uma pasta para cada arquivo e o move para dentro
for ARQ in $(ls -1 $DIR/*.$EXT); do
PASTA=${ARQ%.$EXT}
mkdir $PASTA && mv $ARQ $PASTA
done

# Restaura o IFS padrão
IFS=$IFSOLD


legal essa variável 'ifs', só não entendi essa parada de voltar ao padrão !!!


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts