Script csh, lecture par ligne d'un fichier
Wenzel
Messages postés
254
Statut
Membre
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
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
3 réponses
Salut,
La commande en question c'est "file" et non pas "Unix file" ;-((
;-))
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.
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.