2008-12-26 15 views
2

Je dois souvent copier, déplacer ou renommer des fichiers et des répertoires en fonction de certains critères, car je collecte des données à partir de nombreuses ressources et j'aime que les choses restent organisées. Quel langage de script fournit les méthodes les plus intuitives et les plus faciles à utiliser pour ces opérations? Voici un exemple de scénario:Qu'est-ce qu'un bon langage de script pour les opérations de base des fichiers?

Je garde ma musique dans une hiérarchie de dossiers comme ci-dessous:

&Artist Name(upper case letters)& 
-- (&album release year&) &album name& 
---- \*.* 

Je veux savoir quels dossiers briser ces règles sous mon dossier de musique. Je voudrais aussi les adapter à la structure que j'utilise, s'ils ont une structure cohérente mais différente de schémas de noms de fichiers et de répertoires.

Je travaille à la fois Windows et Linux, donc je pensais de donner bash un essai (grâce à Cygwin) que je connais un peu. Qu'en pensez-vous? Y a-t-il une meilleure solution?

+0

Peut-être changer «meilleur» pour «bon». Vous pouvez empêcher les flamewars. – Piskvor

Répondre

1

Presque tous vont faire ce que vous demandez. Je déteste, déteste, et déteste complètement perl, alors je suggère python ou ruby. La chose exacte que vous voulez faire peut être écrite très étroitement et proprement en python en utilisant os.path.walk ou os.walk, mais python, ruby, bash shell scripting, et même un pipeline de ls -R | aek avec un programme awk le ferait parfaitement bien.

5

Si vous avez Cygwin utiliser soit le script bash ou installer Python, Perl ou Ruby et les utiliser à la place. Il n'y a pas de "meilleur" quand il s'agit d'opérations de fichiers de base. Choisissez la langue que vous préférez.

5

Perl obtient mon vote, en particulier si vous faites des recherches de texte (ou recherchez et remplace). La plupart des langues modernes peuvent le faire mais Perl, pour moi, a la bonne combinaison de brièveté et de puissance.

Mais, voyant la question révisée, je dirai ceci: vous n'avez pas besoin langage de script s. Vous avez besoin d'un organisateur de musique, comme Tag&Rename. Il a beaucoup de fonctionnalités pour marquer la musique (à partir d'Amazon ou simplement à partir du répertoire et des noms de fichiers) et de le réorganiser selon les critères que vous souhaitez.

2

Tcl est un très bon choix (disponible en ActiveTcl d'ActiveState, et fonctionne sur toutes les plateformes), surtout si vous pensez que vous pouvez ajouter une interface graphique minimale un jour. Si vous cherchez "tclkit", il s'agit d'une implémentation en un seul fichier de Tcl qui permet d'installer une copie de ce fichier où vous voulez.

Tcl est pas meilleur ni pire que Perl, Ruby, Python, ou tout autre langage de script à cet égard - ils font tous opérations de fichiers de base avec un aplomb égal.

1

Perl est ce que j'utiliserais en raison de ses puissantes capacités de traitement de texte/chaîne. En outre, vous pourriez simplement utiliser ActivePerl sans cygwin (qui est un peu plus de tuer IMO).

1

Je suggérerais foobar2000 si vous voulez organiser votre musique. En plus d'être un joueur génial, son composant Opérations sur les fichiers peut copier ou déplacer des fichiers basés sur des modèles personnalisés.

0

Ne pas oublier Zsh en option - vos connaissances bash est pertinente, plus il a obtenu des scripts propre et fonctionnalités de ligne de commande.

0

Autant que ça pique, Perl a été conçu pour faire des choses comme ça.