Analyse de repertoire
yepimback
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je voudrais faire un check des fichiers par repertoires et y integrer quelques libellés:
pour cela j'ai un fichier de config qui intègre le nom des repertoires que je veux checker:
envrep="/home/test"
cat file.txt #=>represente les repertoires qui sont present dans $envrep
100
101
102
103
104
105
ma boucle qui marche très bien:
cat file.txt|while read line; do
if [ -d "$envrep/$line" ]
then
Nbr='find $envrep/$line \( ! -name $line -prune \) -type f 2> /dev/null |wc -l'
if [[ $Nbr -gt 0 ]]
then
oldfile='ls -lrt $envrep/$line/|head -1|awk {' print $8 '}'
oldfilenm='ls -lrt $envrep/$line/|head -1|awk {' print $9 '} |rev|cut -b 1-16|rev'
newfilenm='ls -lrt $envrep/$line/|tail -1|awk {' print $8 '}'
printf "#%11s %20s %15s %25s %20s %10s\n" "$line" "$Nbr" "$oldfile" "$oldfilenm" "$newfilenm" "#"
fi
fi
done
}
printf '\033[1;30;47m'
echo "#-------------------------------------------------------------------------------------------------------#"
printf "#%11s %10s %15s %25s %25s %5s\n" "Repertoire" "Nbr" "+ ancien" "FileName + ancien" "Heure + recent" "#"
echo "#-------------------------------------------------------------------------------------------------------#"
printf '\033[0m'
count
echo "#-------------------------------------------------------------------------------------------------------#"
RESULTAT:
(je ne sais pas si ça va se voir dans le cadre de la fenetre du navigateur mais bon...)
#------------------------------------------------------------------------------------------------------------#
# Repertoire Nbr + ancien FileName + ancien Heure + recent #
#------------------------------------------------------------------------------------------------------------#
# 102 12 20:01 fic.exte 04:12 #
# 105 15 23:09 hok.txt 05:29 #
#####################################################################
ce que je voudrais faire c'est rajouter un libellé:
RESULTAT VOULU:
#-----------------------------------------------------------------------------------------------------------------------------#
# Repertoire NOM Nbr + ancien FileName + ancien Heure + recent #
#-----------------------------------------------------------------------------------------------------------------------------#
# 102 Pascal 12 20:01 fic.exte 04:12 #
# 105 Remy 15 23:09 hok.txt 05:29 #
#-------------------------------------------------------------------------------------------------------------------------------
je pensais pouvoir intégrer le nom dans le fichier conf
cat file.txt =>représente les repertoires qui sont present dans $envrep
100;eric
101;moi
102;Pascal
103;Bill
104;Robert
105;Remy
où intégégré ma nouvelle variable NOM pour qu'elle soit vraiment prise en compte dans mon tableau à chq fois que la variable $line apparait ?
Si vous avez une idée
je voudrais faire un check des fichiers par repertoires et y integrer quelques libellés:
pour cela j'ai un fichier de config qui intègre le nom des repertoires que je veux checker:
envrep="/home/test"
cat file.txt #=>represente les repertoires qui sont present dans $envrep
100
101
102
103
104
105
ma boucle qui marche très bien:
cat file.txt|while read line; do
if [ -d "$envrep/$line" ]
then
Nbr='find $envrep/$line \( ! -name $line -prune \) -type f 2> /dev/null |wc -l'
if [[ $Nbr -gt 0 ]]
then
oldfile='ls -lrt $envrep/$line/|head -1|awk {' print $8 '}'
oldfilenm='ls -lrt $envrep/$line/|head -1|awk {' print $9 '} |rev|cut -b 1-16|rev'
newfilenm='ls -lrt $envrep/$line/|tail -1|awk {' print $8 '}'
printf "#%11s %20s %15s %25s %20s %10s\n" "$line" "$Nbr" "$oldfile" "$oldfilenm" "$newfilenm" "#"
fi
fi
done
}
printf '\033[1;30;47m'
echo "#-------------------------------------------------------------------------------------------------------#"
printf "#%11s %10s %15s %25s %25s %5s\n" "Repertoire" "Nbr" "+ ancien" "FileName + ancien" "Heure + recent" "#"
echo "#-------------------------------------------------------------------------------------------------------#"
printf '\033[0m'
count
echo "#-------------------------------------------------------------------------------------------------------#"
RESULTAT:
(je ne sais pas si ça va se voir dans le cadre de la fenetre du navigateur mais bon...)
#------------------------------------------------------------------------------------------------------------#
# Repertoire Nbr + ancien FileName + ancien Heure + recent #
#------------------------------------------------------------------------------------------------------------#
# 102 12 20:01 fic.exte 04:12 #
# 105 15 23:09 hok.txt 05:29 #
#####################################################################
ce que je voudrais faire c'est rajouter un libellé:
RESULTAT VOULU:
#-----------------------------------------------------------------------------------------------------------------------------#
# Repertoire NOM Nbr + ancien FileName + ancien Heure + recent #
#-----------------------------------------------------------------------------------------------------------------------------#
# 102 Pascal 12 20:01 fic.exte 04:12 #
# 105 Remy 15 23:09 hok.txt 05:29 #
#-------------------------------------------------------------------------------------------------------------------------------
je pensais pouvoir intégrer le nom dans le fichier conf
cat file.txt =>représente les repertoires qui sont present dans $envrep
100;eric
101;moi
102;Pascal
103;Bill
104;Robert
105;Remy
où intégégré ma nouvelle variable NOM pour qu'elle soit vraiment prise en compte dans mon tableau à chq fois que la variable $line apparait ?
Si vous avez une idée
A voir également:
- Analyse de repertoire
- Analyse composant pc - Guide
- Analyse disque dur - Télécharger - Informations & Diagnostic
- Analyse performance pc - Guide
- Nouveau tag analysé - Forum Huawei
- Analyse et réparation disque dur externe - Guide
4 réponses
par contre c'est vachement mal présenté... je comprend pas.
le tableau est trop grand pour la page du navigateur.... là c'est moche.
le tableau est trop grand pour la page du navigateur.... là c'est moche.
cat file.txt|while read line; do
if [ -d "$envrep/$line" ]
then
Nbr='find $envrep/$line \( ! -name $line -prune \) -type f 2> /dev/null |wc -l'
if [[ $Nbr -gt 0 ]]
then
oldfile='ls -lrt $envrep/$line/|head -1|awk {' print $8 '}'
oldfilenm='ls -lrt $envrep/$line/|head -1|awk {' print $9 '} |rev|cut -b 1-16|rev'
newfilenm='ls -lrt $envrep/$line/|tail -1|awk {' print $8 '}'
printf "#%11s %20s %15s %25s %20s %10s\n" "$line" "$Nbr" "$oldfile" "$oldfilenm" "$newfilenm" "#"
fi
fi
done
}
printf '\033[1;30;47m'
echo "#---------------------------------------------------------------------#"
printf "#%11s %10s %15s %25s %25s %5s\n" "Repertoire" "Nbr" "+ ancien" "FileName + ancien" "Heure + recent" "#"
echo "#---------------------------------------------------------------------#"
printf '\033[0m'
count
echo "#----------------------------------------------------------------------#"
#-------------------------------------------------------------------# # Repertoire Nbr +ancien FileName+ancien Heure + recent # #-----------------------------------------------------------------------------# # 102 12 20:01 fic.exte 04:12 # # 105 15 23:09 hok.txt 05:29 # ############-##################################
Salut,
Avec un fichier en entrée de la sorte :
Il te suffit de modifier comme suit :
Et d'appeler tes variables ainsi créées ;-))
Avec un fichier en entrée de la sorte :
100;eric 101;moi 102;Pascal 103;Bill 104;Robert 105;Rem
Il te suffit de modifier comme suit :
cat file.txt|while IFS=";" read nombre nom; do
Et d'appeler tes variables ainsi créées ;-))