Fichier en paramètre d'entrée du script
Zaznet
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
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
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:
- Fichier en paramètre d'entrée du script
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
2 réponses
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 ^^
./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 ^^
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
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.
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.