[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