Mover arquivos para pasta com base em partes do nome do arquivo

1

Estou tentando criar um script bash para mover arquivos de anime baixados para pastas sem o número do episódio.

Nome do arquivo / Lista de arquivos, por exemplo:

[SubsHorrible] name of show - 00 [1080p].mkv
[SubsHorrible] name of show - name2 of show - 00 [1080p].mkv
[SubsHorrible] name of show - 000 [1080p].mkv

Mover para nova pasta com base em "nome do programa"

[SubsHorrible] name of show
   [SubsHorrible] name of show - 00 [1080p].mkv
   [SubsHorrible] name of show - 01 [1080p].mkv
[SubsHorrible] name of show - name2 of show
   [SubsHorrible] name of show - name2 of show - 00 [1080p].mkv
   [SubsHorrible] name of show - name2 of show - 01 [1080p].mkv
[SubsHorrible] name of show
   [SubsHorrible] name of show - 100 [1080p].mkv
   [SubsHorrible] name of show - 101 [1080p].mkv

Qualquer ajuda será apreciada!

    
por QWEbie 20.04.2018 / 15:54

1 resposta

0

Como você não forneceu nenhum script para ajudar, use esta linha para criar os nomes das pastas na lista de arquivos:

  1. Criar variável (ou ler a partir do arquivo de lista de nomes de arquivos): filename="[SubsHorrible] name of show - 00 [1080p].mkv"
  2. Em seguida, obtenha a peça necessária: echo ${filename" "-*}

  3. Resultado: [SubsHorrible] name of show , para criar a pasta echo ${filename%%" "-*} | xargs -d '\n' mkdir

Explicação: ${filename%" "-*} : na parte de trás do nome do arquivo, remova todos até o ponto " "- e, em seguida, retorne todo o resto.

Para a amostra dada:

[SubsHorrible] name of show - 00 [1080p].mkv
[SubsHorrible] name of show - name2 of show - 00 [1080p].mkv
[SubsHorrible] name of show - 000 [1080p].mkv

Retorna:

[SubsHorrible] name of show
[SubsHorrible] name of show - name2 of show
[SubsHorrible] name of show

Use este script simples para criar as pastas:

 
#!/usr/bin/env bash

while IFS= read -r var
do
    mkdir "${var%" "-*}"
done < "$1"

Uso:

./createfolder.sh list

In-coopera em seu script maior.

  • Veja isso para mais ajuda:

link

    
por George Udosen 20.04.2018 / 16:18