Création
d'entreprise
Posez votre question Signaler

Prog shell : petit pb de debutant

gunado - Dernière réponse le 12 nov. 2004 à 08:09
Bonjour les gens :

j'ai qqes petit problemes en shell... pour ne pas dire que je suis nul...
il faudrait que j'ajoute des fichiers a un dossier de fichiers du style fich1.fic, fich2.fic, fich3.fic,.....
Pour cela je dois recuperer le numero le plus grand des fichiers existants (ici je devrai donc avoir 3)...
mon script me permettra donc de renommer mes fichiers pour les mettre a la suite dans mon dossier..
sdfsd.fic doit devenir fich4.fic apres l'execution de mon script.

Le probleme est que je n'arrive pas a recuperer la valeur maximale ...

ls | awk '{
    nb = split($1,tab,/[A-Za-z.-]*/)
    for(i=1;i<=nb;i++){
	max=tab[i];


	if ( max < tab[i]);
	    max=tab[i];
                      fi;
       
printf("max : %s",max);
}
}


une fois sorti de awk ma variable max disparait...
Je vous remercie d'avance...
Alex
Lire la suite 

Prog shell : petit pb de debutant »

5 réponses
Réponse
+0
moins plus
Awk n'est pas la solution à tout. Un script simple est tout aussi efficace. Essaies donc ca:
#!/bin/bash
j=0
for i in `ls | tr -c '[:digit:]' ' ' | sort | uniq`
do
if [ -n $i ] && [ $j -lt $i ]
then
j=$i
fi
done
echo $j
Ajouter un commentaire
Réponse
+0
moins plus
Merci yomip....
Heureusement qu'il y a des gens qui comprennent... moi je crois que la prog shell n'est pas faite pour moi...
@+
Ajouter un commentaire
Réponse
+0
moins plus
Hello !

Pour les amateurs de Perl :
#!/usr/bin/perl -w

$_ = (sort glob("*.fic"))[-1];
s/[^\d]//g;
print;

Take care !
Ajouter un commentaire
Réponse
+0
moins plus
Légère simplification :
#!/usr/bin/perl -w

$_ = (sort glob("*.fic"))[-1];
s/\D//g;
print;
Ajouter un commentaire
Réponse
+0
moins plus
Merci à tout le monde pour votre participation...
J'ai reussi à finir le truc qu'il fallait que je fasse...
@+ gunado
Ajouter un commentaire
Ce document intitulé « Prog shell : petit pb de debutant » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?