Bonjour,
Je voudrai compter des fichiers mp3 qui sont dans une arborescence de
répertoires :
[normal@localhost voice]$ ls -l
total 40
drwxr-xr-x 2 normal normal 4096 nov 10 08:12 16279_bien_commun
drwxr-xr-x 2 normal normal 4096 nov 15 10:14 2000_ans-histoire
drwxr-xr-x 2 normal normal 4096 nov 15 10:12 aspects_pensee_contemporaine
drwxr-xr-x 2 normal normal 4096 nov 15 10:13 enjeux_internationaux
drwxr-xr-x 2 normal normal 4096 nov 1 13:48 islam
drwxr-xr-x 2 normal normal 4096 nov 15 10:14 jacquard
drwxr-xr-x 2 normal normal 4096 nov 15 10:12 lundis_histoire
drwxr-xr-x 2 normal normal 4096 nov 10 08:09 science_conscience
drwxr-xr-x 2 normal normal 4096 nov 10 08:13 vendredis_de_la_philosophie
drwxr-xr-x 2 normal normal 4096 nov 15 10:12 vivants_et_les_dieux
À la racine de l'arborescence, je tape :
[normal@localhost voice]$ ls -R *mp* | wc -l
2
En fouillant un peu, je constate que le motif *mp* n'est pas recherché
dans mp3 mais dans le nom d'un seul répertoire (conteMPoraine) par ls :
[normal@localhost voice]$ ls -R *mp*
aspects_pensee_contemporaine:
10344-11.11.2007-ITEMA_20096350-0.mp3
wc -l fait son boulot en comptant 2 lignes qui sortent de ls.
D'où, ma question : quels argument et motif passer à ls avec wc -l pour
ne compter que les fichiers qui ont le motif souhaité, en l'occurrence mp3.
Je vous remercie,
Dominique
Sans le deuxième grep, ça devrait fonctionner beaucoup mieux. Là, tu recherches la chaîne "wc" dans le résultat, et forcément, ça ne donne pas grand-chose.
C'est n'importe quoi, quand je tape : « ls -R | grep mp3 | grep wc -l »
Tu as parfaitement raison, je ne vois pas du tout pourquoi j'ai mis un second grep... Bref... je suis tout rouge de confusion ;-) Bonne journée, Dominique
On Thu, 15 Nov 2007 13:42:57 +0100, dominique <zzz@aol.com>:
Sans le deuxième grep, ça devrait fonctionner beaucoup mieux.
Là, tu recherches la chaîne "wc" dans le résultat, et forcément, ça ne
donne pas grand-chose.
C'est n'importe quoi, quand je tape : « ls -R | grep mp3 | grep wc -l »
Tu as parfaitement raison, je ne vois pas du tout pourquoi j'ai mis un
second grep...
Bref... je suis tout rouge de confusion ;-)
Bonne journée,
Dominique
Sans le deuxième grep, ça devrait fonctionner beaucoup mieux. Là, tu recherches la chaîne "wc" dans le résultat, et forcément, ça ne donne pas grand-chose.
C'est n'importe quoi, quand je tape : « ls -R | grep mp3 | grep wc -l »
Tu as parfaitement raison, je ne vois pas du tout pourquoi j'ai mis un second grep... Bref... je suis tout rouge de confusion ;-) Bonne journée, Dominique
dominique
Modulo des répertoires répondant aussi au motif '*.mp3' que l'on peut filtrer en demandant à find de n'afficher que les vrais fichiers avec l'option "-type f"
J'avais noté l'argument -f qui est intéressant. Merci pour cette précision et bonne journée, Dominique
Modulo des répertoires répondant aussi au motif '*.mp3' que
l'on peut filtrer en demandant à find de n'afficher que les
vrais fichiers avec l'option "-type f"
J'avais noté l'argument -f qui est intéressant.
Merci pour cette précision et bonne journée,
Dominique
Modulo des répertoires répondant aussi au motif '*.mp3' que l'on peut filtrer en demandant à find de n'afficher que les vrais fichiers avec l'option "-type f"
J'avais noté l'argument -f qui est intéressant. Merci pour cette précision et bonne journée, Dominique
moi-meme
Fabien LE LEZ wrote:
Ça ne fonctionne pas sur ma machine. J'imagine qu'il faut installer quelque chose, mais bon, comme find fonctionne, je ne vais pas chercher plus loin... tree est dans un package éponyme séparé.
Y a t'il un truc parce que find . -name * me sort rien quelquefois. (ne trouve pas toujours avec des expressions régulières pour le nom des fichiers)
Fabien LE LEZ wrote:
Ça ne fonctionne pas sur ma machine. J'imagine qu'il faut installer
quelque chose, mais bon, comme find fonctionne, je ne vais pas
chercher plus loin...
tree est dans un package éponyme séparé.
Y a t'il un truc parce que find . -name * me sort rien quelquefois.
(ne trouve pas toujours avec des expressions régulières pour le nom des
fichiers)
Ça ne fonctionne pas sur ma machine. J'imagine qu'il faut installer quelque chose, mais bon, comme find fonctionne, je ne vais pas chercher plus loin... tree est dans un package éponyme séparé.
Y a t'il un truc parce que find . -name * me sort rien quelquefois. (ne trouve pas toujours avec des expressions régulières pour le nom des fichiers)
Fabien LE LEZ
On Fri, 16 Nov 2007 07:41:36 +0100, moi-meme :
Y a t'il un truc parce que find . -name * me sort rien quelquefois.
Rajoute les guillemets qui vont bien. Cf <news:
On Fri, 16 Nov 2007 07:41:36 +0100, moi-meme <chiebel@free.fr>:
Y a t'il un truc parce que find . -name * me sort rien quelquefois.
Rajoute les guillemets qui vont bien. Cf
<news:ng8oj311u7i4fa0d7ikk47141e361igg4s@4ax.com>
Y a t'il un truc parce que find . -name * me sort rien quelquefois.
find . -name '*'
Avec find, il faut faire gaffe à bien escaper les arguments.
-- http://www.bashfr.org/?1138
Fabien LE LEZ
On Fri, 16 Nov 2007 10:48:55 +0100, "Thierry B." :
Avec find, il faut faire gaffe à bien escaper les arguments.
Je dirais plutôt : avec un shell Unix, il faut faire gaffe à ...
Franchement, le principe du remplacement automatique de "*" et "?" par le shell est passablement tordu. C'est puissant, certes, mais il faut beaucoup de temps pour s'y habituer. Surtout quand, comme moi, on a l'habitude du shell microsoftien.
Un exemple typique : si tu as deux fichiers, f1 et f2, dans un répertoire "r", et que tu es dans un autre répertoire, taper copy r* sous Windows copie f1 et f2 dans le répertoire courant. Sous Linux, cp r/* est interprété comme cp r/f1 r/f2 ce qui donne un résultat bien différent -- et m'a beaucoup fait grincer des dents à mes débuts unixiens.
On Fri, 16 Nov 2007 10:48:55 +0100, "Thierry B." :
Avec find, il faut faire gaffe à bien escaper les arguments.
Je dirais plutôt : avec un shell Unix, il faut faire gaffe à ...
Franchement, le principe du remplacement automatique de "*" et "?" par
le shell est passablement tordu. C'est puissant, certes, mais il faut
beaucoup de temps pour s'y habituer. Surtout quand, comme moi, on a
l'habitude du shell microsoftien.
Un exemple typique : si tu as deux fichiers, f1 et f2, dans un
répertoire "r", et que tu es dans un autre répertoire, taper
copy r*
sous Windows copie f1 et f2 dans le répertoire courant.
Sous Linux,
cp r/*
est interprété comme
cp r/f1 r/f2
ce qui donne un résultat bien différent -- et m'a beaucoup fait
grincer des dents à mes débuts unixiens.
On Fri, 16 Nov 2007 10:48:55 +0100, "Thierry B." :
Avec find, il faut faire gaffe à bien escaper les arguments.
Je dirais plutôt : avec un shell Unix, il faut faire gaffe à ...
Franchement, le principe du remplacement automatique de "*" et "?" par le shell est passablement tordu. C'est puissant, certes, mais il faut beaucoup de temps pour s'y habituer. Surtout quand, comme moi, on a l'habitude du shell microsoftien.
Un exemple typique : si tu as deux fichiers, f1 et f2, dans un répertoire "r", et que tu es dans un autre répertoire, taper copy r* sous Windows copie f1 et f2 dans le répertoire courant. Sous Linux, cp r/* est interprété comme cp r/f1 r/f2 ce qui donne un résultat bien différent -- et m'a beaucoup fait grincer des dents à mes débuts unixiens.
moi-meme
Fabien LE LEZ wrote:
On Fri, 16 Nov 2007 07:41:36 +0100, moi-meme :
Y a t'il un truc parce que find . -name * me sort rien quelquefois.
Rajoute les guillemets qui vont bien. Cf <news:
OK vu ce qui se passe donc d'où vient le problème
Je me coucherais moins bête que je me suis levé : c'est déjà quelque chose
Merci
Fabien LE LEZ wrote:
On Fri, 16 Nov 2007 07:41:36 +0100, moi-meme <chiebel@free.fr>:
Y a t'il un truc parce que find . -name * me sort rien quelquefois.
Rajoute les guillemets qui vont bien. Cf
<news:ng8oj311u7i4fa0d7ikk47141e361igg4s@4ax.com>
OK vu ce qui se passe donc d'où vient le problème
Je me coucherais moins bête que je me suis levé : c'est déjà quelque chose
Y a t'il un truc parce que find . -name * me sort rien quelquefois.
Rajoute les guillemets qui vont bien. Cf <news:
OK vu ce qui se passe donc d'où vient le problème
Je me coucherais moins bête que je me suis levé : c'est déjà quelque chose
Merci
Fabien LE LEZ
On Fri, 16 Nov 2007 16:30:20 +0100, moi-meme :
Je me coucherais moins bête que je me suis levé : c'est déjà quelque chose
Et histoire de te permettre de te coucher encore moins bête : on écrit "Je me coucherai". Si tu rajoutes un "s", c'est du conditionnel. L'école primaire est bien loin manifestement...
On Fri, 16 Nov 2007 16:30:20 +0100, moi-meme <chiebel@free.fr>:
Je me coucherais moins bête que je me suis levé : c'est déjà quelque chose
Et histoire de te permettre de te coucher encore moins bête : on écrit
"Je me coucherai". Si tu rajoutes un "s", c'est du conditionnel.
L'école primaire est bien loin manifestement...
Je me coucherais moins bête que je me suis levé : c'est déjà quelque chose
Et histoire de te permettre de te coucher encore moins bête : on écrit "Je me coucherai". Si tu rajoutes un "s", c'est du conditionnel. L'école primaire est bien loin manifestement...
Hugolino
Le Fri, 16 Nov 2007 17:07:47 +0100, Fabien LE LEZ a écrit:
On Fri, 16 Nov 2007 16:30:20 +0100, moi-meme :
Je me coucherais moins bête que je me suis levé : c'est déjà quelque chose
Et histoire de te permettre de te coucher encore moins bête : on écrit "Je me coucherai". Si tu rajoutes un "s", c'est du conditionnel.
Conditionnel qu'il avait apparament raison d'employer. La condition (non mentionné je te l'accorde) pour qu'il se couche moins bête étant que tu répondes à sa question.
L'école primaire est bien loin manifestement...
Et c'est heureux, ça évite les querelles de cours de récré :P
-- There is only 10 types of people: those who understand binary and those who don't. Hugo (né il y a 1 374 839 138 secondes)
Le Fri, 16 Nov 2007 17:07:47 +0100, Fabien LE LEZ a écrit:
On Fri, 16 Nov 2007 16:30:20 +0100, moi-meme <chiebel@free.fr>:
Je me coucherais moins bête que je me suis levé : c'est déjà quelque chose
Et histoire de te permettre de te coucher encore moins bête : on écrit
"Je me coucherai". Si tu rajoutes un "s", c'est du conditionnel.
Conditionnel qu'il avait apparament raison d'employer. La condition
(non mentionné je te l'accorde) pour qu'il se couche moins bête étant
que tu répondes à sa question.
L'école primaire est bien loin manifestement...
Et c'est heureux, ça évite les querelles de cours de récré :P
--
There is only 10 types of people: those who understand binary and those
who don't.
Hugo (né il y a 1 374 839 138 secondes)
Le Fri, 16 Nov 2007 17:07:47 +0100, Fabien LE LEZ a écrit:
On Fri, 16 Nov 2007 16:30:20 +0100, moi-meme :
Je me coucherais moins bête que je me suis levé : c'est déjà quelque chose
Et histoire de te permettre de te coucher encore moins bête : on écrit "Je me coucherai". Si tu rajoutes un "s", c'est du conditionnel.
Conditionnel qu'il avait apparament raison d'employer. La condition (non mentionné je te l'accorde) pour qu'il se couche moins bête étant que tu répondes à sa question.
L'école primaire est bien loin manifestement...
Et c'est heureux, ça évite les querelles de cours de récré :P
-- There is only 10 types of people: those who understand binary and those who don't. Hugo (né il y a 1 374 839 138 secondes)
Fabien LE LEZ
On Sun, 18 Nov 2007 12:28:57 +0100, Hugolino :
Conditionnel qu'il avait apparament raison d'employer. La condition (non mentionné je te l'accorde) pour qu'il se couche moins bête étant que tu répondes à sa question.
Non, il n'y a pas de condition. L'idée n'était pas "Si tu répondais à ma question, je me coucherais..." mais bien "Tu as répondu à ma question ; je me coucherai donc ...".
On Sun, 18 Nov 2007 12:28:57 +0100, Hugolino <hugolino@free.fr>:
Conditionnel qu'il avait apparament raison d'employer. La condition
(non mentionné je te l'accorde) pour qu'il se couche moins bête étant
que tu répondes à sa question.
Non, il n'y a pas de condition.
L'idée n'était pas "Si tu répondais à ma question, je me
coucherais..." mais bien "Tu as répondu à ma question ; je me
coucherai donc ...".
Conditionnel qu'il avait apparament raison d'employer. La condition (non mentionné je te l'accorde) pour qu'il se couche moins bête étant que tu répondes à sa question.
Non, il n'y a pas de condition. L'idée n'était pas "Si tu répondais à ma question, je me coucherais..." mais bien "Tu as répondu à ma question ; je me coucherai donc ...".