Rechercher : dans
Par :

Fichier en paramètre d'entrée du script

Dernière réponse le 6 mai 2008 à 16:11:53 Zaznet, le 6 mai 2008 à 11:24:23 
 Signaler ce message aux modérateurs

Bonjour,

Je souhaite lancer un script shell avec un fichier en paramètre.
Je souhaite ensuite travailler sur le nom de ce fichier et bien sûr son contenu.

Exemple :

Je lancerai : script.ksh fichierBLA

Dans le script :
- je dois travailler le nom du fichier pour voir s'il contient BLA ou BLI
- je dois aussi pouvoir l'utiliser pour étudier son contenu

Comment faire ? Je debute...

Merci

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Fichier en paramètre d'entrée du script » dans :
[Mozilla Firefox] Sauvegarder les paramètres VoirSauvegarder / Restaurer les paramètres de Firefox, les marque-pages, historique et les extensions installées Commencez par afficher les fichiers cachés. Sous Vista, il faut s'approprier le dossier C:\users\Utilisateur*\Application Data pour...
Bash - Les paramètres VoirIntroduction Les paramètres positionnels Exemple 1 Les paramètres spéciaux Exemple 2 Initialiser des paramètres - La commande "set" - Exemples - La commande "shift" - Exemple 3 Introduction Il est possible de fournir à un script,...
Vos paramètres de sécurité ne vous permettent pas de télécharger VoirProblème Lors du téléchargement d'un logiciel, comment faire lorsque le message suivant s'affiche"vos parametres de sécurité ne vous permettent pas de télécharger ce fichier" ? Solution Rendez-vous dans outils/options...
Perl - Les fichiers VoirLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
Linux - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire le système...

1

Sh@tter, le 6 mai 2008 à 15:25:01

Et bien tu as juste à lancer ton script avec comme paramètre le nom du fichier :
./script.sh fichierBLA.txt

Et dans ton script tu commences en faisant un :

#!/bin/sh
cat $1 | while read ligne
do
echo $ligne
done

Si tu veux tester le nom du fichier tu testes $1 et si tu veux tester son contenu tu joues avec les $ligne ^^

Répondre à Sh@tter

2

dieu, le 6 mai 2008 à 16:02:51

Il y a plusieurs façon de faire

la solution while read est excellente

tu peux aussi si tu es plus habitué à windows et au for

faire

#!/bin/bash
for ligne in $(cat $1)
do
 ....ton traitement
done



for et while c'est plus une question d'habitudes que de performances les deux methodes sont bonne
l'interet du for est de ne pas passer par un pipe mais ça peut aussi devenir une limitation .... pour l'instant considere que c'est la même chose.

Répondre à dieu

3

 jipicy, le 6 mai 2008 à 16:11:53

Salut,

A part qu'avec une boucle "for" si tu changes pas le "IFS" tu vas lire chaque mot et non chaque ligne ;-((
JP - Éleveur de pingouins -
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.

Répondre à jipicy