[Shell] Nombre de fichiers
Résolu
xavdoug
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
xavdoug Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
xavdoug Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- [Shell] Nombre de fichiers
- Classic shell - Télécharger - Personnalisation
- Nombre de jours entre deux dates excel - Guide
- Explorateur de fichiers - Guide
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
3 réponses
Salut,
C'est pour du shell "bash", à adapter pour du shell "csh" :
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