[Shell] Nombre de fichiers
Résolu
xavdoug
Messages postés
21
Date d'inscription
Statut
Membre
-
xavdoug Messages postés 21 Date d'inscription Statut Membre -
xavdoug Messages postés 21 Date d'inscription Statut Membre -
Bonjour,
Voilà mon problème.
J'ai dans un repertoire des fichiers, par exemple :
fichier23.txt, fichier.24.txt, fichier25.txt, ..., fichier234.txt
Je voudrais récupérer le premier nombre (ici 23), le dernier (ici 234) et vérifier que la suite n'est pas interrompue ...
Le tout en c-shell ...
Y aurait-il une ame charitable pour m'aider ?
Merci d'avance
Voilà mon problème.
J'ai dans un repertoire des fichiers, par exemple :
fichier23.txt, fichier.24.txt, fichier25.txt, ..., fichier234.txt
Je voudrais récupérer le premier nombre (ici 23), le dernier (ici 234) et vérifier que la suite n'est pas interrompue ...
Le tout en c-shell ...
Y aurait-il une ame charitable pour m'aider ?
Merci d'avance
Configuration: Windows XP Internet Explorer 7.0
3 réponses
-
Salut,
C'est pour du shell "bash", à adapter pour du shell "csh" :#! /bin/bash min=$(ls *.txt | grep -o '[0-9][0-9]*' | head -1) max=$(ls *.txt | grep -o '[0-9][0-9]*' | tail -1) j="$min" for i in $( ls *.txt | grep -o '[0-9][0-9]*') do if [ "$i" != "$j" ] then echo "Chaîne interrompue au fichier n° $j." exit 2 else echo "Fichier n° $i => OK" fi j=$(expr $j + 1) done
;-))
-
Le même en "csh" ;-))
#! /bin/csh set min = `ls *.txt | grep -o '[0-9][0-9]*' | head -1` set max = `ls *.txt | grep -o '[0-9][0-9]*' | tail -1` set j = "$min" foreach i ( `ls *.txt | grep -o '[0-9][0-9]*'` ) if ("$i" != "$j") then echo "Chaîne interrompue au fichier n° $j." exit 2 else echo "Fichier n° $i => OK" endif @ j++ end -
Merci beaucoup.
C'est un problème entièrement résolu !
Impeccable !!
:))