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

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

Re: [shell-script] Como criar diretórios a partir de uma lista num arqui


From: Fernando Luizao
Subject: Re: [shell-script] Como criar diretórios a partir de uma lista num arquivo?
Date: Tue, 6 Jul 2010 05:04:48 -0700 (PDT)

Algumas idéias:

Criando os diretórios de A a Z:

mkdir {A..Z}

Extraindo os nomes dos artistas:

sed 's/\(.*\)-.*/\1/' arquivo | sort | uniq | xargs -I'{}' mkdir "{}"

O sed vai extrair tudo até o "-", então ordenamos os nomes dos artistas pro 
uniq retirar os repetidos. Jogamos a saída para o xargs com a opção -I para que 
possamos proteger o nome (que possivelmente tem espaços ou outros caracteres 
especiais) com aspas ao criar o diretório.

Isso já dá um começo, provavelmente vc vai querer normalizar os nomes de 
diretório para minúscula, substituir espaços, etc, mas aí é com vc =)

Abraço

--- Em ter, 6/7/10, Aguinaldo Dantas <address@hidden> escreveu:

De: Aguinaldo Dantas <address@hidden>
Assunto: [shell-script] Como criar diretórios a partir de uma lista num arquivo?
Para: address@hidden
Data: Terça-feira, 6 de Julho de 2010, 1:35







 



  


    
      
      
      Caros,



Tem como pegar uma listagem num arquivo e transformar esta listagem em novos

diretórios/pastas?



Explicando:



Mantenho meus mp3 no diretório Música dividido em subdiretórios nomeados com

a primeira letra do nome do artista ou banda, A, B, C, etc. Dentro destes

subdiretórios existe ou deveria existir um outro subdiretório com o nome

completo de cada banda ou artista. Pensando nisto criei o seguinte arquivo

shell que gera uma lista dos diretórios que correspondem aos arquivos que

tem a estrutura "artista - música.mp3" de forma invariável já que utilizo o

PicardTagger do site MusicBrainz:



#!/bin/bash

ls > a.txt

cat a.txt | sed '/\.mp3/!d' > b.txt

cat b.txt | sed 's/ - /\n/g' > c.txt

cat c.txt | sed '/\.mp3/d' | uniq > d.txt



O arquivo d.txt tem uma listagem do nome dos artistas ou bandas, então como

faço para criar os diretórios? Posso colocar um "mkdir " na frente de cada

linha e mandar "executar o txt" ou tem como processar cada linha por vez?



Agraceço qualquer ajuda, mesmo um RTFM, caso me digam qual é. Sou novato e

tapado em shell.



Abraços



-- 



Abraços,

Aguinaldo

Linux User #449566

http://paginadoaguinaldo.blogspot.com/

http://ninguemedeferro.blogspot.com/



[As partes desta mensagem que não continham texto foram removidas]





    
     

    
    


 



  






      

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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