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
A voir également:
- Csh if else
- The realtek network controller was not found. if deep sleep mode is enabled please plug the cable ✓ - Forum Pilotes (drivers)
- If exist ✓ - Forum Autoit / batch
- {Batch} IF NOT EXIST <mon folder> ne fonctionne pas ✓ - Forum Autoit / batch
- Php if multiple conditions ✓ - Forum PHP
- Vba if else ✓ - Forum VB / VBA
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.