rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[manipulation textes] perl vs python vs shell

sheol, le vendredi 21 décembre 2007 à 08:05:36
Bonjour,

Dans le cadre de mon travail, j'ai régulièrement à analyser des fichiers textes très complexes, pas forcément formatés très précisément, de plusieurs millier de lignes.

Dans ce contexte j'utilise pour l'instant pas mal de scripts shell. sed grep et sort sont mes amis. :P
Je me débrouille de mieux en mieux en shell, mais certains collègues utilisent perl.
Après m'être renseigné un peu, je n'arrive pas à savoir quel est le langage le plus adapté à ce type d'utilisation.

Juste manipulation de fichiers textes très complexes et calculs issus de ces fichiers (genre tout bêtement ligne 3 colonne 1 + ligne 4 colonne 2). Je ne connais pas grand chose à la programmation, à part en Fortran ou j'ai quelques bases mais pour du calcul scientifique (rien à voir avec de l'édition de fichiers).

Sachant que je suis loin de gérer parfaitement awk par exemple, mieux vaut-il rester purement scripts shell en poussant un peu plus et me forçant à utiliser des outils comme awk, ou passer à un langage python ou perl ?


Merci de m'avoir lu jusqu'au bout ! :-))
Répondre à sheol  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bob031, le vendredi 21 décembre 2007 à 09:18:13
Bonjour,

Pour travailler sur du texte : c'est Perl !!!

:-))

Debian Etch kernel 2.6.22.6 // Fedora 8 kernel 2.6.23.1 // M­andriva 2007.1 Spring kernel 2.6.22.6
Windows Breaks : -----^-----^-----^-----^-----^-----^--- bip­ bip bip bip !
Répondre à bob031

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 jipicy, le vendredi 21 décembre 2007 à 09:58:55
Salut,

Chaque langage a ses spécificités qu'il faut connaitre afin d'opter pour le traitement le plus adapté à ses besoins.

Sed est un éditeur de lignes (Stream Editor), plus particulièrement adapté au traitement et manipulations (remplacement, suppression de chaines de caractères) ligne par ligne, bien qu'il puisse aussi traiter des lignes consécutives grace à ses mémoires tampons, mais pas très intuitif pour des traitements complexes. Ce n'est pas à vrai dire un langage de programmation, mais plus un outil à utiliser en complément du shell par exemple.

Awk est un éditeur de champs (mais pas seulement), beaucoup plus puissant que "sed", qui travaille lui aussi sur des lignes en entrée mais possédant une syntaxe proche des langages de programmation (fonctions, tableaux, opérations mathématiques, etc.).

Perl quant à lui n'est autre que la réunion des 2 outils précédents avec des briques de C et de shell (à l'origine ce devait être une simple extension de awk). Il est donc plus complet et beaucoup plus puissant que sed et awk, et à ce titre possède toutes les qualités d'un langage de programmation.

Python je connais pas du tout, sebsauvage (s'il passe dans le coin) t'en parleras surement beaucoup mieux que moi et t'en ventera tous les mérites à juste titre.

;-))

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.
Répondre à jipicy
Logiciels pertinents trouvés dans les téléchargements
Télécharger VSO Image Resizer 2.0.1.9VSO Image Resizer - Le logiciel VSO Image Resizer organise vos photos en réduisant leur résolution et en les déplaçant facilement au sein de...Catégorie: Graphisme
Licence: Freeware/gratuit
Télécharger SSH Secure Shell 3.0 build 203SSH Secure Shell - SSH secure shell for workstations est un client SSH flexible permettant de se connecter de façon sécurisée à des...Catégorie: Telnet/SSH
Licence: Open Source
Télécharger VSO Media Player 1.0.2VSO Media Player - VSO Media Player est un lecteur audio supportant les formats audio suivants : MP3 Ogg Vorbis (. OGG ) MusePack...Catégorie: Edition vidéo
Licence: Freeware/gratuit
Télécharger TextWrangler 2.2.1TextWrangler - TextWrangler est un éditeur de texte évolué. Il propose de nombreuses fonctionnalités : recherche/remplacement...Catégorie: Traitement de texte
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [manipulation textes] perl vs python vs shell »