[Linux] (sans objet)
Cyril Chaboisseau
cyril.chaboisseau@::1
Mar 30 Mar 17:50:02 CEST 2010
* R. Bastian <rbastian@::1> [2010-03-30 11:14 +0200]:
> [...]
> > pour être plus juste et surtout avoir un tri des plus gros, il vaut mieux faire
> >
> > du -s * .??* | sort -n | tail -n 30
>
> are you chour ? ;-)
iesse aïe âme !
> une espace de trop ?
^
j'imagine que tu veux parler de celle entre "*" et ".??*"
pourquoi ? tu n'aimes pas les espaces superflues ?
sinon, la réponse est non
car le problème dans n'importe quelle commande qui reçoit les arguments
du shell[1], les fichiers cachés ne sont pas pris en compte
"ls *" ne va pas prendre en compte .bashrc
mais vu que l'on ne peut pas mettre .* car dans ce cas ça prendrait en
compte . et .. il faut ruser en mettant .??* ce qui d'ailleurs n'est pas
tout à fait juste puisque ça ne prends pas les fichiers commençant par
'.' et avec 1 seul caractère
donc, pour être plus juste, il faudrait faire
du -s * .??* .[^.]|sort -n|tail
et puis là je t'ai _vraiment_ retiré tous les espaces en trop !
(personne ne pourra plus planquer à ton insu plein de fichiers dans un
répertoire caché)
:-)
[1] comme chacun le sait, lorsque l'on fait "grep toto *.c" la
commande toto ne sait même pas que l'utilisateur a taper "*.c" mais elle
reçoit bien la liste des fichiers qui se terminent par .c
si l'on veut vraiment passer un caractère méta (wildcard) à une commande
(ex: find), alors qui fait l'échapper :
find ~/ -name '*.c'
--
Cyril Chaboisseau
Plus d'informations sur la liste de diffusion linux