Bonjour,
Je cherche à lister les fichiers de plus de 10 Mo.
J'utilise cette commande:
ls -Ssh1 `find /usr/local/www/ -size +10M -print0 | xargs -0`
Par contre impossible de lire les fichiers avec des espaces.
Cette autre commande:
find /usr/local/www/ -size +10M
renvoie bien tous les fichiers même ceux contenant des espaces.
Mais je n'arrive pas à assembler ces deux commandes sachant que
l'intérêt de la première commande est que la sortie est classée et
affiche la taille des fichiers.
Cordialement,
Bonjour,
Je cherche à lister les fichiers de plus de 10 Mo.
J'utilise cette commande:
ls -Ssh1 `find /usr/local/www/ -size +10M -print0 | xargs -0`
Par contre impossible de lire les fichiers avec des espaces.
Cette autre commande:
find /usr/local/www/ -size +10M
renvoie bien tous les fichiers même ceux contenant des espaces.
Mais je n'arrive pas à assembler ces deux commandes sachant que
l'intérêt de la première commande est que la sortie est classée et
affiche la taille des fichiers.
Cordialement,
Bonjour,
Je cherche à lister les fichiers de plus de 10 Mo.
J'utilise cette commande:
ls -Ssh1 `find /usr/local/www/ -size +10M -print0 | xargs -0`
Par contre impossible de lire les fichiers avec des espaces.
Cette autre commande:
find /usr/local/www/ -size +10M
renvoie bien tous les fichiers même ceux contenant des espaces.
Mais je n'arrive pas à assembler ces deux commandes sachant que
l'intérêt de la première commande est que la sortie est classée et
affiche la taille des fichiers.
Cordialement,
Le samedi 26 février 2011 à 20:15 +0100, Luxpopuli Open source a écrit :Bonjour,
Je cherche à lister les fichiers de plus de 10 Mo.
J'utilise cette commande:
ls -Ssh1 `find /usr/local/www/ -size +10M -print0 | xargs -0`
Par contre impossible de lire les fichiers avec des espaces.
Cette autre commande:
find /usr/local/www/ -size +10M
renvoie bien tous les fichiers même ceux contenant des espaces.
Mais je n'arrive pas à assembler ces deux commandes sachant que
l'intérêt de la première commande est que la sortie est classée et
affiche la taille des fichiers.
Cordialement,
Bonsoir,
D'habitude j'utilise plutôt xargs de cette manière, et ça fonctionne
chez moi ainsi :
$ find -size +10M -print0 | xargs -0 ls -Ssh1
Le samedi 26 février 2011 à 20:15 +0100, Luxpopuli Open source a écrit :
Bonjour,
Je cherche à lister les fichiers de plus de 10 Mo.
J'utilise cette commande:
ls -Ssh1 `find /usr/local/www/ -size +10M -print0 | xargs -0`
Par contre impossible de lire les fichiers avec des espaces.
Cette autre commande:
find /usr/local/www/ -size +10M
renvoie bien tous les fichiers même ceux contenant des espaces.
Mais je n'arrive pas à assembler ces deux commandes sachant que
l'intérêt de la première commande est que la sortie est classée et
affiche la taille des fichiers.
Cordialement,
Bonsoir,
D'habitude j'utilise plutôt xargs de cette manière, et ça fonctionne
chez moi ainsi :
$ find -size +10M -print0 | xargs -0 ls -Ssh1
Le samedi 26 février 2011 à 20:15 +0100, Luxpopuli Open source a écrit :Bonjour,
Je cherche à lister les fichiers de plus de 10 Mo.
J'utilise cette commande:
ls -Ssh1 `find /usr/local/www/ -size +10M -print0 | xargs -0`
Par contre impossible de lire les fichiers avec des espaces.
Cette autre commande:
find /usr/local/www/ -size +10M
renvoie bien tous les fichiers même ceux contenant des espaces.
Mais je n'arrive pas à assembler ces deux commandes sachant que
l'intérêt de la première commande est que la sortie est classée et
affiche la taille des fichiers.
Cordialement,
Bonsoir,
D'habitude j'utilise plutôt xargs de cette manière, et ça fonctionne
chez moi ainsi :
$ find -size +10M -print0 | xargs -0 ls -Ssh1
Tu peux essayer cette commande :
find / -size +10M -exec ls -Ssh1 '{}' ;
Tu peux essayer cette commande :
find / -size +10M -exec ls -Ssh1 '{}' ;
Tu peux essayer cette commande :
find / -size +10M -exec ls -Ssh1 '{}' ;
> Tu peux essayer cette commande :
>
> find / -size +10M -exec ls -Ssh1 '{}' ;
Cette version ne fournit pas un affichage classé (trié) puisque chaqu e
invocation de ls se fera sur un seul fichier.
Pour avoir une seule invocation de ls (dans le meilleur des cas), il faut
utiliser :
find /foo -size +10M -exec ls -bla {} +
Pas besoin de protéger {}
My two cents.
--
"Free software, free society."
Jérémie Courrèges-Anglas
GPG key : 06A11494
> Tu peux essayer cette commande :
>
> find / -size +10M -exec ls -Ssh1 '{}' ;
Cette version ne fournit pas un affichage classé (trié) puisque chaqu e
invocation de ls se fera sur un seul fichier.
Pour avoir une seule invocation de ls (dans le meilleur des cas), il faut
utiliser :
find /foo -size +10M -exec ls -bla {} +
Pas besoin de protéger {}
My two cents.
--
"Free software, free society."
Jérémie Courrèges-Anglas
GPG key : 06A11494
> Tu peux essayer cette commande :
>
> find / -size +10M -exec ls -Ssh1 '{}' ;
Cette version ne fournit pas un affichage classé (trié) puisque chaqu e
invocation de ls se fera sur un seul fichier.
Pour avoir une seule invocation de ls (dans le meilleur des cas), il faut
utiliser :
find /foo -size +10M -exec ls -bla {} +
Pas besoin de protéger {}
My two cents.
--
"Free software, free society."
Jérémie Courrèges-Anglas
GPG key : 06A11494
Bonjour et merci pour votre contribution.
La seule version qui marche vraiment est:
time find /usr/local/www/ -type f -size +10M -print0 | xargs -0 ls -Ssh1 |wc
-l
Les résultats sont classés et c'est la plus rapide (pas de beau coup mais
bon...)
Celle-ci
time find /usr/local/www/ -size +10M -exec ls -Ssh1 {} ;|wc -l
fonctionne mais ne classe pas les résultats. On voit qu'il n'est
effectivement pas besoin de protéger {}
Et celle-ci:
find /foo -size +10M -exec ls -bla {} +
ne marche pas du tout ;-)
il faut au minimum ajouter «;» et supprimer le +
Bonjour et merci pour votre contribution.
La seule version qui marche vraiment est:
time find /usr/local/www/ -type f -size +10M -print0 | xargs -0 ls -Ssh1 |wc
-l
Les résultats sont classés et c'est la plus rapide (pas de beau coup mais
bon...)
Celle-ci
time find /usr/local/www/ -size +10M -exec ls -Ssh1 {} ;|wc -l
fonctionne mais ne classe pas les résultats. On voit qu'il n'est
effectivement pas besoin de protéger {}
Et celle-ci:
find /foo -size +10M -exec ls -bla {} +
ne marche pas du tout ;-)
il faut au minimum ajouter «;» et supprimer le +
Bonjour et merci pour votre contribution.
La seule version qui marche vraiment est:
time find /usr/local/www/ -type f -size +10M -print0 | xargs -0 ls -Ssh1 |wc
-l
Les résultats sont classés et c'est la plus rapide (pas de beau coup mais
bon...)
Celle-ci
time find /usr/local/www/ -size +10M -exec ls -Ssh1 {} ;|wc -l
fonctionne mais ne classe pas les résultats. On voit qu'il n'est
effectivement pas besoin de protéger {}
Et celle-ci:
find /foo -size +10M -exec ls -bla {} +
ne marche pas du tout ;-)
il faut au minimum ajouter «;» et supprimer le +
find /usr/local/www/ -type f -size +10M -printf '%s %pn' | sort -n
Cela n'est pas plus simple et surement beaucoup plus rapide ?
find /usr/local/www/ -type f -size +10M -printf '%s %pn' | sort -n
Cela n'est pas plus simple et surement beaucoup plus rapide ?
find /usr/local/www/ -type f -size +10M -printf '%s %pn' | sort -n
Cela n'est pas plus simple et surement beaucoup plus rapide ?
On Sunday 27 February 2011 à 01:16:35PM, Luxpopuli Open source wrote:
> Bonjour et merci pour votre contribution.
>
> La seule version qui marche vraiment est:
>
> time find /usr/local/www/ -type f -size +10M -print0 | xargs -0 ls -Ssh 1
|wc
> -l
Non, ce n'est pas la seule :-)
> Les résultats sont classés et c'est la plus rapide (pas de beaucoup mais
> bon...)
Non plus, ce n'est pas la plus rapide. ;-)
> Celle-ci
>
> time find /usr/local/www/ -size +10M -exec ls -Ssh1 {} ;|wc -l
>
> fonctionne mais ne classe pas les résultats. On voit qu'il n'est
> effectivement pas besoin de protéger {}
>
> Et celle-ci:
>
> find /foo -size +10M -exec ls -bla {} +
>
> ne marche pas du tout ;-)
>
> il faut au minimum ajouter «;» et supprimer le +
Non, faut juste ne pas la copier/coller betement dans un terminal.
Une version prete à etre copiée/collée :
$ time find /usr/local/www -size +10M -exec ls -Ssh1 {} +
Et chez moi ça donne dans tous les cas de meilleurs résultats que fin d
-print0
| xargs -0.
Sinon, pourquoi utiliser ls -Ssh1 si le but est de compter le nombre de c es
fichiers ?
$ time find /usr/local/www -size +10M -exec printf %.sx {} + | wc -c
Cette version diffère dans le sens où un 'x' est affiché pour chaqu e
fichier,
et on compte le nombre de x final. Fonctionne sans ls -1 en cas de fichie rs
comportant des caractères exotiques dans leur nom, et ptet plus efficac e vu
qu'on écrit moins de choses dans le pipe.
Sinon, man find, info find, http://mywiki.wooledge.org/UsingFind" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mywiki.wooledge.org/UsingFind
Ciao
--
"Free software, free society."
Jérémie Courrèges-Anglas
GPG key : 06A11494
On Sunday 27 February 2011 à 01:16:35PM, Luxpopuli Open source wrote:
> Bonjour et merci pour votre contribution.
>
> La seule version qui marche vraiment est:
>
> time find /usr/local/www/ -type f -size +10M -print0 | xargs -0 ls -Ssh 1
|wc
> -l
Non, ce n'est pas la seule :-)
> Les résultats sont classés et c'est la plus rapide (pas de beaucoup mais
> bon...)
Non plus, ce n'est pas la plus rapide. ;-)
> Celle-ci
>
> time find /usr/local/www/ -size +10M -exec ls -Ssh1 {} ;|wc -l
>
> fonctionne mais ne classe pas les résultats. On voit qu'il n'est
> effectivement pas besoin de protéger {}
>
> Et celle-ci:
>
> find /foo -size +10M -exec ls -bla {} +
>
> ne marche pas du tout ;-)
>
> il faut au minimum ajouter «;» et supprimer le +
Non, faut juste ne pas la copier/coller betement dans un terminal.
Une version prete à etre copiée/collée :
$ time find /usr/local/www -size +10M -exec ls -Ssh1 {} +
Et chez moi ça donne dans tous les cas de meilleurs résultats que fin d
-print0
| xargs -0.
Sinon, pourquoi utiliser ls -Ssh1 si le but est de compter le nombre de c es
fichiers ?
$ time find /usr/local/www -size +10M -exec printf %.sx {} + | wc -c
Cette version diffère dans le sens où un 'x' est affiché pour chaqu e
fichier,
et on compte le nombre de x final. Fonctionne sans ls -1 en cas de fichie rs
comportant des caractères exotiques dans leur nom, et ptet plus efficac e vu
qu'on écrit moins de choses dans le pipe.
Sinon, man find, info find, http://mywiki.wooledge.org/UsingFind
Ciao
--
"Free software, free society."
Jérémie Courrèges-Anglas
GPG key : 06A11494
On Sunday 27 February 2011 à 01:16:35PM, Luxpopuli Open source wrote:
> Bonjour et merci pour votre contribution.
>
> La seule version qui marche vraiment est:
>
> time find /usr/local/www/ -type f -size +10M -print0 | xargs -0 ls -Ssh 1
|wc
> -l
Non, ce n'est pas la seule :-)
> Les résultats sont classés et c'est la plus rapide (pas de beaucoup mais
> bon...)
Non plus, ce n'est pas la plus rapide. ;-)
> Celle-ci
>
> time find /usr/local/www/ -size +10M -exec ls -Ssh1 {} ;|wc -l
>
> fonctionne mais ne classe pas les résultats. On voit qu'il n'est
> effectivement pas besoin de protéger {}
>
> Et celle-ci:
>
> find /foo -size +10M -exec ls -bla {} +
>
> ne marche pas du tout ;-)
>
> il faut au minimum ajouter «;» et supprimer le +
Non, faut juste ne pas la copier/coller betement dans un terminal.
Une version prete à etre copiée/collée :
$ time find /usr/local/www -size +10M -exec ls -Ssh1 {} +
Et chez moi ça donne dans tous les cas de meilleurs résultats que fin d
-print0
| xargs -0.
Sinon, pourquoi utiliser ls -Ssh1 si le but est de compter le nombre de c es
fichiers ?
$ time find /usr/local/www -size +10M -exec printf %.sx {} + | wc -c
Cette version diffère dans le sens où un 'x' est affiché pour chaqu e
fichier,
et on compte le nombre de x final. Fonctionne sans ls -1 en cas de fichie rs
comportant des caractères exotiques dans leur nom, et ptet plus efficac e vu
qu'on écrit moins de choses dans le pipe.
Sinon, man find, info find, http://mywiki.wooledge.org/UsingFind" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mywiki.wooledge.org/UsingFind
Ciao
--
"Free software, free society."
Jérémie Courrèges-Anglas
GPG key : 06A11494