Script csh, lecture par ligne d'un fichier
Wenzel
Messages postés
254
Statut
Membre
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je doit écrire un script en csh, qui prend en paramètre un fichier contenant des noms, et l'affiche a l'ecran.
elle se nomme affiche <liste_noms>
on me demande d'utiliser la commande Unix file, qui doit renvoyer "text" si le fichier est un fichier texte.
voici le script que j'ai tenté d'écrire mais qui en fonctionne pas
#! /bin/csh
if ($#argv == 0) then
echo "erreur"
else if ((Unix file $argv[1] | grep text) == 'text') then
more $argv[1]
else echo "le paramètre n'est pas un fichier texte"
endif
Merci
je doit écrire un script en csh, qui prend en paramètre un fichier contenant des noms, et l'affiche a l'ecran.
elle se nomme affiche <liste_noms>
on me demande d'utiliser la commande Unix file, qui doit renvoyer "text" si le fichier est un fichier texte.
voici le script que j'ai tenté d'écrire mais qui en fonctionne pas
#! /bin/csh
if ($#argv == 0) then
echo "erreur"
else if ((Unix file $argv[1] | grep text) == 'text') then
more $argv[1]
else echo "le paramètre n'est pas un fichier texte"
endif
Merci
Configuration: Windows 7 Professionnel x64 bits Q6600 2,4 GHz 4Go RAM Kingston Nvidia geforce 9800 GX2 ASUS P5K
3 réponses
-
Salut,
La commande en question c'est "file" et non pas "Unix file" ;-((
else if ((file $argv[1] | grep text) == 'text') then
;-))
-
Bonjour,
Je n'ai pas testé, et je me trompe peut-être.
Mais par réflexe, j'aurais mis des quotes inverses autour de la commande :
else if ((`file $argv[1] | grep text`) == 'text') then
Cordialement,
Marc. -
Merci bien, j'ai finalement reussi a créer le script et il fonctionne, erreur de lecture de l'énoncé ^^