Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/03/2007, 10h27   #1
Invité de passage
 
Inscription : mars 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 5
Points : 1
Points : 1
Par défaut test extension d'un fichier en korn shell

Bonjour, je débute en shell et j'ai crée un script qui copie tous les fichiers d'un répertoire portant l'extension .txt

Pb, avant de les copier j'aimerais testé la présence de fichier .txt dans mon répertoire, j'ai essayer avec cette expression :

Code :
if ! ls | grep "*${exten_fich}"
Mais ca semble ne pas être bon, quelqu'un aurai peut être une idée,

merci d'avance
jeje4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 11h04   #2
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Bonjour

Pourrais-tu afficher ton code en entier ?

++
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 11h11   #3
Invité de passage
 
Inscription : mars 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 5
Points : 1
Points : 1
voila ma fonction de recopie :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function_recopy(){
 
nom_rep_copy=$1
exten_fich=$2
nom_rep_sort=$3
 
cd ${nom_rep_copy}		
if ! ls | grep "*${exten_fich}"
then
	echo "\Pas de fichier portant l'extension ${exten_fich}"
else
cp *${exten_fich} ${nom_rep_sort}
cd -
fi
}
jeje4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 12h12   #4
Membre du Club
 
Inscription : novembre 2006
Messages : 80
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 80
Points : 50
Points : 50
Tu peux utiliser :
elle va te retourner le nombre de fichier txt, sur lequelle tu pourras faire des if...
oumokhtar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 13h46   #5
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Bonjour

Je te propose ce script :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
## BEGIN
 
# variables
rep=$1
ext=$2
 
# vérifie l'extension
checkext() {
if [ -f `ls $rep | grep "$ext"` ]; then
echo "Fichiers avec l'extension $ext introuvables"
else if [ "$ext" = '' ]; then
echo "Aucune extension a été spécifié"
else
echo "Des fichiers avec l'extension $ext sont présents"
fi
fi
} 
 
# test le répertoire
if [ ! -d $rep ]; then
echo "Le répertoire $rep n'existe pas"
else if [ `find $rep -depth -empty -type d` ]; then
echo "Le répertoire $rep est vide
else
checkext
fi
fi
On peut faire mieux mais ça fonctionne
Comment se fait-il que l'indentation heu ? pas bien
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 14h52   #6
Rédacteur
 
Inscription : mars 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 298
Points : 1 450
Points : 1 450
heuu vous etes un peut compliquer tout de même :
et un tout simple
c'est pas plus lisible ?
__________________
Marc
Slackware for ever ......
BASH - KSH ( http://marcg.developpez.com/ksh/ )
MarcG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 14h55   #7
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Citation:
Envoyé par MarcG
heuu vous etes un peut compliquer tout de même :
C'était juste pour te faire rougir un peu
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 16h26   #8
Membre du Club
 
Inscription : novembre 2006
Messages : 80
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 80
Points : 50
Points : 50
voici un petit script
Code :
1
2
3
4
 
source=/home/user/ton_dossier_source
destination=/home/user/ton_dossier_destination
[ `ls $source | grep .txt | wc -l` != 0 ] &&  cp $location/*.txt $destination
oumokhtar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 10h44   #9
Rédacteur
 
Inscription : mars 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 298
Points : 1 450
Points : 1 450
A oui pourquoi faire simple quand on peut faire compliquer ?
Code :
1
2
3
4
 
source=/home/user/ton_dossier_source
destination=/home/user/ton_dossier_destination
ls $source/*.txt >/dev/null && cp $source/*.txt $destination
__________________
Marc
Slackware for ever ......
BASH - KSH ( http://marcg.developpez.com/ksh/ )
MarcG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 14h40   #10
Membre émérite
 
Avatar de panda31
 
Homme Michaël
Conseil - Consultant en systèmes d'information
Inscription : juin 2003
Messages : 673
Détails du profil
Informations personnelles :
Nom : Homme Michaël
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : juin 2003
Messages : 673
Points : 850
Points : 850
FAites gaffe ou je vous sors un listing de trois pages pour afficher hello world en plus de ranger les fichiers txt
__________________
Michaël Mary
Consultant PLM dans une société de conseil toulousaine
Auditeur CNAM-IPST depuis septembre 2008
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
John F. Woods
mon cv et mon domaine et mon blog
Aucune question technique par MP, svp
panda31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 15h03   #11
Membre du Club
 
Inscription : août 2006
Messages : 74
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 74
Points : 61
Points : 61
Par défaut Pour rire....

que diriez-vous de :
Code :
1
2
3
4
5
 
if [-f *.txt ]
then
cp *.txt nomfic 
fi
Billette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 15h10   #12
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 450
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 450
Points : 7 559
Points : 7 559
Citation:
Envoyé par Billette
que diriez-vous de :
Code :
1
2
3
4
5
 
if [-f *.txt ]
then
cp *.txt nomfic 
fi
Que ça ne fonctionnera pas...
Code :
1
2
 
if [ -f *.txt ]...
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h20.


 
 
 
 
Partenaires

Hébergement Web