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

Fermé
Zaznet - 6 mai 2008 à 11:24
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 6 mai 2008 à 16:11
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
A voir également:

2 réponses

Sh@tter Messages postés 157 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 26 octobre 2009 46
6 mai 2008 à 15:25
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 ^^
0
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.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
6 mai 2008 à 16:11
Salut,

A part qu'avec une boucle "for" si tu changes pas le "IFS" tu vas lire chaque mot et non chaque ligne ;-((
0