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 26/05/2008, 21h23   #1
Invité de passage
 
Inscription : mai 2008
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 2
Points : 1
Points : 1
Par défaut script shell: fonction taille fichier/dossier

Bonjour,
Je dois réalisé un programme ayant la même fonction que la commande du (Statistiques sur l'utilisation du disque) avec les options -a (tous les fichiers) et -s (seulement le répertoire courant ou le fichier précisé)

Pour l'instant voilà où j'en suis arrivé:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
echo écrire les options éventuels (all ou only) et le fichier éventuel :
read INPUT1 INPUT2
if [ $# = 0 ] ; then{ls -sR | grep '^\.\|^total' ' }
elif [ "$INPUT1" = 'all' ] ; then{
	if ["$INPUT2"=0]; then{	ls -sR }
	else{script pour fichier option all}
  	fi
}
elif ["$INPUT1" = 'only' ] :then{
	if ["$INPUT2"=0]; then{	ls -sR | grep '^total' > inter
                                           i=0
                                           while read total num
                                           do
                                           i=`expr $i + $num`
                                          done < inter
                                          echo total $i
                                           rm inter}
	else{script pour la taille du dossier indiqué}
	fi
}
fi


Je suis en train de continuer à chercher mais je n'ai pas d'idée pour effectuer le programme si l'on précise un fichier.
Pour un dossier je peux toujours faire un cd sur le nom du dossier puis avec ls -s récupérer des infos.
Et peut-être qu'il y a une meilleure solution que ce ls -Rs qui ne rend pas exactement le même résultat que du

Si quelqu'un a une idée, merci d'avance
guluk21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 08h26   #2
Membre habitué
 
Inscription : février 2008
Messages : 159
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 159
Points : 125
Points : 125
Bonjour,

Tu peut aussi tenter grace aux trois commandes ls, tr et cut.
Ls list ton repertoire, tr définit un séparateur unique et cut récupère un champ.
Tu peut ainsi récupérer la taille ( dans un ls -l ) d'un fichier, d'un repertoire, ce que tu veut.

Sinon, pour un dossier spécifié, tu n'a pas besoin de faire un cd puis un ls, tu peut mettre le nom du dossier en paramètre a ls ( ce qui t'évite des cd inutiles ).
Elverion est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 09h10   #3
Membre Expert
 
Avatar de pacmann
 
Homme Pacman Pacman
Business analyst
Inscription : juin 2004
Messages : 1 417
Détails du profil
Informations personnelles :
Nom : Homme Pacman Pacman
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business analyst
Secteur : Finance

Informations forums :
Inscription : juin 2004
Messages : 1 417
Points : 2 309
Points : 2 309
Salut !

ls -Rs calcule la taille du contenu.
La différence avec "du" doit être juste la taille (constante) du répertoire contenant (genre 2 blocs).
pacmann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2008, 18h17   #4
Invité de passage
 
Inscription : mai 2008
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 2
Points : 1
Points : 1
Salut,
j'ai réussi à m'en sortir
merci du coup de main

gui
guluk21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h36.


 
 
 
 
Partenaires

Hébergement Web