Fonction IF + nom de fichier
Résolu/Fermé
snow_frog
Messages postés
216
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 juin 2020
-
4 mars 2009 à 19:30
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 - 5 mars 2009 à 10:37
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 - 5 mars 2009 à 10:37
A voir également:
- Fonction IF + nom de fichier
- Fichier rar - Guide
- Fonction si et - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
7 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
5 mars 2009 à 09:48
5 mars 2009 à 09:48
jp@MDK:~/tmpfs ssh$ ls -1 *.txt tatatatata_bleu_vitesse.txt tatatatata_vert_vitesse.txt titi_bleu_vitesse.txt titi_jaune_vitesse.txt tototo_rouge_vitesse.txt tototo_vert_vitesse.txt jp@MDK:~/tmpfs ssh$ ./foo.sh Pour le fichier tatatatata_bleu_vitesse.txt la couleur est : bleu Pour le fichier tatatatata_vert_vitesse.txt la couleur est : vert Pour le fichier titi_bleu_vitesse.txt la couleur est : bleu Pour le fichier titi_jaune_vitesse.txt la couleur est : jaune Pour le fichier tototo_rouge_vitesse.txt la couleur est : rouge Pour le fichier tototo_vert_vitesse.txt la couleur est : vert jp@MDK:~/tmpfs ssh$ cat foo.sh #! /bin/sh #set -xv for i in *.txt do couleur=$(grep -o "_.*_" <<<$i 2>/dev/null) echo "Pour le fichier $i la couleur est : ${couleur//_}" done jp@MDK:~/tmpfs ssh$;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
4 mars 2009 à 20:12
4 mars 2009 à 20:12
Salut,
est-ce possible de chercher une chaine de caractere dans un fichier,
Dans le nom du fichier ou dans son contenu ?
est-ce possible de chercher une chaine de caractere dans un fichier,
Dans le nom du fichier ou dans son contenu ?
snow_frog
Messages postés
216
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 juin 2020
139
4 mars 2009 à 20:32
4 mars 2009 à 20:32
désolé de ne pas avir précisé, dans le nom de fichier,
par exemple:
tatatatata_vert_vitesse.txt
tututututu_vert_vitesse.txt
titititititititi_vert_vitesse.txt
tatatatata_rouge_vitesse.txt
...
je voudrais chercher si dans le nom de fichier il y a "vert" afficher vert
merci
par exemple:
tatatatata_vert_vitesse.txt
tututututu_vert_vitesse.txt
titititititititi_vert_vitesse.txt
tatatatata_rouge_vitesse.txt
...
je voudrais chercher si dans le nom de fichier il y a "vert" afficher vert
merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
5 mars 2009 à 07:44
5 mars 2009 à 07:44
Utilises grep pour ça :
[tmpfs]$ ls -1 tatatatata_bleu_vitesse.txt tatatatata_vert_vitesse.txt titi_bleu_vitesse.txt tototo_rouge_vitesse.txt tototo_vert_vitesse.txt [tmpfs]$ ls -1 | grep vert tatatatata_vert_vitesse.txt tototo_vert_vitesse.txt [tmpfs]$;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
snow_frog
Messages postés
216
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 juin 2020
139
5 mars 2009 à 07:54
5 mars 2009 à 07:54
merci pour grep, mais comment l'integrer dans ma fonction if:
au début de mon script j'ai:
FILE=`ls *vitesse.txt`
[...] une boucle for I in $FILE
do
[...] $$i
done
(en expression ecrite car je ne voit pas la commande à mettre)
if $i contient vert
then
echo "vert"
fi
comment transcrire ce "contient" ? if [$i= ls -l | grep vert]
en fait mon but final est que le script affiche vert, rouge en fonction du fichier qu'il traite dans la boucle for
au début de mon script j'ai:
FILE=`ls *vitesse.txt`
[...] une boucle for I in $FILE
do
[...] $$i
done
(en expression ecrite car je ne voit pas la commande à mettre)
if $i contient vert
then
echo "vert"
fi
comment transcrire ce "contient" ? if [$i= ls -l | grep vert]
en fait mon but final est que le script affiche vert, rouge en fonction du fichier qu'il traite dans la boucle for
gnublin
Messages postés
15
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
8 juillet 2009
5 mars 2009 à 09:08
5 mars 2009 à 09:08
Un truc du genre :
VARIABLE=$(ls * | grep )
if [ $VARIABLE==vert ]
then
echo -e "vert \n"
fi
je pense que c'est pas trop mal comme ca
VARIABLE=$(ls * | grep )
if [ $VARIABLE==vert ]
then
echo -e "vert \n"
fi
je pense que c'est pas trop mal comme ca
snow_frog
Messages postés
216
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 juin 2020
139
5 mars 2009 à 10:37
5 mars 2009 à 10:37
merci beaucoup.
Je passe en résolu
Je passe en résolu