Je cherche à recuperer facilement la longueur du nom de certains de mes
fichiers (ou eventuellement trouver tous les fichiers dont le nom est
plus long que 30 caracteres par exemple)
j'utilise
find . -name "*"
et wc -l
mais avec le -exec je trouve malheureusement que le nomb re de lignes
dans mes fichiers...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane Dupille
Bonjour,
Hello,
Je cherche à recuperer facilement la longueur du nom de certains de mes fichiers (ou eventuellement trouver tous les fichiers dont le nom est plus long que 30 caracteres par exemple)
OK.
j'utilise find . -name "*" et wc -l mais avec le -exec je trouve malheureusement que le nomb re de lignes dans mes fichiers...
Avec find : find . -exec sh -c 'echo {} | wc -c' ";"
Le problème, c'est qu'il compte également le ./ au début du nom de fichier.
Avez vous une iste plus simple?
Oui, en shell, mais testé uniquement avec zsh (doit marcher avec d'autres) : for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done
Chose curieuse chez moi : [gimli] ~> for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done Bin : 4 Doc : 4 Gallery : 8 Hotel : 6 Installed : 10 Lib : 4 Mail : 5 News : 5 Photos : 7 Projets : 8 Temp : 5
Pourquoi y a t'il une espace en trop dans les noms de fichiers ? D'où est-ce qu'elle sort ?
Merci
De rien !
-- OM> Je viens d'être inscrit contre mon gré sur une liste hébergée OM> par listbot (sexyliens). Je l'ai reçu aussi, et je me suis fait engueuler par ma femme !!! -+-CV in <http://www.le-gnu.net> : Les (sexy)liens du mariage -+-
Bonjour,
Hello,
Je cherche à recuperer facilement la longueur du nom de certains de
mes fichiers (ou eventuellement trouver tous les fichiers dont le nom
est plus long que 30 caracteres par exemple)
OK.
j'utilise
find . -name "*"
et wc -l
mais avec le -exec je trouve malheureusement que le nomb re de lignes
dans mes fichiers...
Avec find :
find . -exec sh -c 'echo {} | wc -c' ";"
Le problème, c'est qu'il compte également le ./ au début du nom de
fichier.
Avez vous une iste plus simple?
Oui, en shell, mais testé uniquement avec zsh (doit marcher avec
d'autres) :
for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done
Chose curieuse chez moi :
[gimli] ~> for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done
Bin : 4
Doc : 4
Gallery : 8
Hotel : 6
Installed : 10
Lib : 4
Mail : 5
News : 5
Photos : 7
Projets : 8
Temp : 5
Pourquoi y a t'il une espace en trop dans les noms de fichiers ?
D'où est-ce qu'elle sort ?
Merci
De rien !
--
OM> Je viens d'être inscrit contre mon gré sur une liste hébergée
OM> par listbot (sexyliens).
Je l'ai reçu aussi, et je me suis fait engueuler par ma femme !!!
-+-CV in <http://www.le-gnu.net> : Les (sexy)liens du mariage -+-
Je cherche à recuperer facilement la longueur du nom de certains de mes fichiers (ou eventuellement trouver tous les fichiers dont le nom est plus long que 30 caracteres par exemple)
OK.
j'utilise find . -name "*" et wc -l mais avec le -exec je trouve malheureusement que le nomb re de lignes dans mes fichiers...
Avec find : find . -exec sh -c 'echo {} | wc -c' ";"
Le problème, c'est qu'il compte également le ./ au début du nom de fichier.
Avez vous une iste plus simple?
Oui, en shell, mais testé uniquement avec zsh (doit marcher avec d'autres) : for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done
Chose curieuse chez moi : [gimli] ~> for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done Bin : 4 Doc : 4 Gallery : 8 Hotel : 6 Installed : 10 Lib : 4 Mail : 5 News : 5 Photos : 7 Projets : 8 Temp : 5
Pourquoi y a t'il une espace en trop dans les noms de fichiers ? D'où est-ce qu'elle sort ?
Merci
De rien !
-- OM> Je viens d'être inscrit contre mon gré sur une liste hébergée OM> par listbot (sexyliens). Je l'ai reçu aussi, et je me suis fait engueuler par ma femme !!! -+-CV in <http://www.le-gnu.net> : Les (sexy)liens du mariage -+-
Fred
Bonjour,
Hello,
Je cherche à recuperer facilement la longueur du nom de certains de mes fichiers (ou eventuellement trouver tous les fichiers dont le nom est plus long que 30 caracteres par exemple)
OK.
j'utilise find . -name "*" et wc -l mais avec le -exec je trouve malheureusement que le nomb re de lignes dans mes fichiers...
Avec find : find . -exec sh -c 'echo {} | wc -c' ";"
Le problème, c'est qu'il compte également le ./ au début du nom de fichier.
Avez vous une iste plus simple?
Oui, en shell, mais testé uniquement avec zsh (doit marcher avec d'autres) : for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done
Chose curieuse chez moi : [gimli] ~> for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done Bin : 4 Doc : 4 Gallery : 8 Hotel : 6 Installed : 10 Lib : 4 Mail : 5 News : 5 Photos : 7 Projets : 8 Temp : 5
Pourquoi y a t'il une espace en trop dans les noms de fichiers ? D'où est-ce qu'elle sort ?
C'est pas une espace mais le n de echo. Il faut aussi utiliser echo -n avant le wc
A+
Merci
De rien !
Bonjour,
Hello,
Je cherche à recuperer facilement la longueur du nom de certains de
mes fichiers (ou eventuellement trouver tous les fichiers dont le nom
est plus long que 30 caracteres par exemple)
OK.
j'utilise
find . -name "*"
et wc -l
mais avec le -exec je trouve malheureusement que le nomb re de lignes
dans mes fichiers...
Avec find :
find . -exec sh -c 'echo {} | wc -c' ";"
Le problème, c'est qu'il compte également le ./ au début du nom de
fichier.
Avez vous une iste plus simple?
Oui, en shell, mais testé uniquement avec zsh (doit marcher avec
d'autres) :
for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done
Chose curieuse chez moi :
[gimli] ~> for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done
Bin : 4
Doc : 4
Gallery : 8
Hotel : 6
Installed : 10
Lib : 4
Mail : 5
News : 5
Photos : 7
Projets : 8
Temp : 5
Pourquoi y a t'il une espace en trop dans les noms de fichiers ?
D'où est-ce qu'elle sort ?
C'est pas une espace mais le n de echo.
Il faut aussi utiliser echo -n avant le wc
Je cherche à recuperer facilement la longueur du nom de certains de mes fichiers (ou eventuellement trouver tous les fichiers dont le nom est plus long que 30 caracteres par exemple)
OK.
j'utilise find . -name "*" et wc -l mais avec le -exec je trouve malheureusement que le nomb re de lignes dans mes fichiers...
Avec find : find . -exec sh -c 'echo {} | wc -c' ";"
Le problème, c'est qu'il compte également le ./ au début du nom de fichier.
Avez vous une iste plus simple?
Oui, en shell, mais testé uniquement avec zsh (doit marcher avec d'autres) : for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done
Chose curieuse chez moi : [gimli] ~> for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done Bin : 4 Doc : 4 Gallery : 8 Hotel : 6 Installed : 10 Lib : 4 Mail : 5 News : 5 Photos : 7 Projets : 8 Temp : 5
Pourquoi y a t'il une espace en trop dans les noms de fichiers ? D'où est-ce qu'elle sort ?
C'est pas une espace mais le n de echo. Il faut aussi utiliser echo -n avant le wc
A+
Merci
De rien !
batyann811
for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done Pourquoi y a t'il une espace en trop dans les noms de fichiers ? D'où est-ce qu'elle sort ?
C'est sûrement le saut de ligne rajouté par le echo donc je pense qu'il
faut rajouter l'option -n au dernier echo de ta commande.
Sinon j'avais fait ça :
#!/bin/sh
for FILE in `find . -name "*"` do FILE=`basename $FILE` NBCHAR=`echo -n $FILE | wc -c` echo $FILE : $NBCHAR done
for i in * ; do echo -n $i ": " ; echo $i | wc -c ; done
Pourquoi y a t'il une espace en trop dans les noms de fichiers ?
D'où est-ce qu'elle sort ?
C'est sûrement le saut de ligne rajouté par le echo donc je pense qu'il
faut rajouter l'option -n au dernier echo de ta commande.
Sinon j'avais fait ça :
#!/bin/sh
for FILE in `find . -name "*"`
do
FILE=`basename $FILE`
NBCHAR=`echo -n $FILE | wc -c`
echo $FILE : $NBCHAR
done
for FILE in `find . -name "*"` do FILE=`basename $FILE` NBCHAR=`echo -n $FILE | wc -c` echo $FILE : $NBCHAR done
Et ça marche pas si les noms de fichiers contiennent des espaces donc voici la version 0.1beta_alpha_rc_1 :
#!/bin/sh
for FILE in `find . -name '*' -type f` do FILE=`basename "$FILE"` NBCHAR=`echo -n "$FILE" | wc -c` echo $FILE : $NBCHAR done
Pascal Bourguignon
Francois Nospam writes:
Je cherche à recuperer facilement la longueur du nom de certains de mes fichiers (ou eventuellement trouver tous les fichiers dont le nom est plus long que 30 caracteres par exemple) [...] Avez vous une iste plus simple?
Ce sont deux questions différentes... Pour la première:
find . -type f -print | while read nom ; echo "${nom} : ${#nom}" ; done
Pour la seconde:
find . -type f -name '??????????????????????????????*' -print
This is a signature virus. Add me to your signature and help me to live
Francois Nospam <nospam@baviere.net> writes:
Je cherche à recuperer facilement la longueur du nom de certains de
mes fichiers (ou eventuellement trouver tous les fichiers dont le nom
est plus long que 30 caracteres par exemple)
[...]
Avez vous une iste plus simple?
Ce sont deux questions différentes...
Pour la première:
find . -type f -print | while read nom ; echo "${nom} : ${#nom}" ; done
Pour la seconde:
find . -type f -name '??????????????????????????????*' -print
Je cherche à recuperer facilement la longueur du nom de certains de mes fichiers (ou eventuellement trouver tous les fichiers dont le nom est plus long que 30 caracteres par exemple) [...] Avez vous une iste plus simple?
Ce sont deux questions différentes... Pour la première:
find . -type f -print | while read nom ; echo "${nom} : ${#nom}" ; done
Pour la seconde:
find . -type f -name '??????????????????????????????*' -print
This is a signature virus. Add me to your signature and help me to live
Jean-Louis Liagre
Francois Nospam wrote:
Bonjour,
Je cherche à recuperer facilement la longueur du nom de certains de mes fichiers (ou eventuellement trouver tous les fichiers dont le nom est plus long que 30 caracteres par exemple)
j'utilise find . -name "*" et wc -l
mais avec le -exec je trouve malheureusement que le nomb re de lignes dans mes fichiers...
Avez vous une iste plus simple?
Merci
#!/bin/bash find . -type f | while read i do size=$(expr "$(basename "$i")" : '.*') if [ $size -gt 30 ] then echo "$i $size" fi done
Francois Nospam wrote:
Bonjour,
Je cherche à recuperer facilement la longueur du nom de certains de mes
fichiers (ou eventuellement trouver tous les fichiers dont le nom est
plus long que 30 caracteres par exemple)
j'utilise
find . -name "*"
et wc -l
mais avec le -exec je trouve malheureusement que le nomb re de lignes
dans mes fichiers...
Avez vous une iste plus simple?
Merci
#!/bin/bash
find . -type f | while read i
do
size=$(expr "$(basename "$i")" : '.*')
if [ $size -gt 30 ]
then
echo "$i $size"
fi
done
Je cherche à recuperer facilement la longueur du nom de certains de mes fichiers (ou eventuellement trouver tous les fichiers dont le nom est plus long que 30 caracteres par exemple)
j'utilise find . -name "*" et wc -l
mais avec le -exec je trouve malheureusement que le nomb re de lignes dans mes fichiers...
Avez vous une iste plus simple?
Merci
#!/bin/bash find . -type f | while read i do size=$(expr "$(basename "$i")" : '.*') if [ $size -gt 30 ] then echo "$i $size" fi done
Stephane Dupille
C'est sûrement le saut de ligne rajouté par le echo donc je pense qu'il faut rajouter l'option -n au dernier echo de ta commande.
AAARRGH ! Le retour chariot m'a tuer. :)
Sinon j'avais fait ça : #!/bin/sh for FILE in `find . -name "*"`
En zsh : for FILE in **/* ; do
-- Personnelement je lis de haut en bas et de droite à gauche et pas l'inverse. ? ac emmoc siavircé'j is tnaihc sap tiares en aC -+-LS in <http://www.le-gnu.net> fbq, le bon sens loin de chez vous -+-
C'est sûrement le saut de ligne rajouté par le echo donc je pense
qu'il faut rajouter l'option -n au dernier echo de ta commande.
AAARRGH ! Le retour chariot m'a tuer.
:)
Sinon j'avais fait ça :
#!/bin/sh
for FILE in `find . -name "*"`
En zsh :
for FILE in **/* ; do
--
Personnelement je lis de haut en bas et de droite à gauche et pas
l'inverse. ?
ac emmoc siavircé'j is tnaihc sap tiares en aC
-+-LS in <http://www.le-gnu.net> fbq, le bon sens loin de chez vous -+-
C'est sûrement le saut de ligne rajouté par le echo donc je pense qu'il faut rajouter l'option -n au dernier echo de ta commande.
AAARRGH ! Le retour chariot m'a tuer. :)
Sinon j'avais fait ça : #!/bin/sh for FILE in `find . -name "*"`
En zsh : for FILE in **/* ; do
-- Personnelement je lis de haut en bas et de droite à gauche et pas l'inverse. ? ac emmoc siavircé'j is tnaihc sap tiares en aC -+-LS in <http://www.le-gnu.net> fbq, le bon sens loin de chez vous -+-
Laurent Wacrenier
Francois Nospam écrit:
Je cherche à recuperer facilement la longueur du nom de certains de mes fichiers (ou eventuellement trouver tous les fichiers dont le nom est plus long que 30 caracteres par exemple)
j'utilise find . -name "*"
find . -name "?????????????????????????????*"
Francois Nospam <nospam@baviere.net> écrit:
Je cherche à recuperer facilement la longueur du nom de certains de mes
fichiers (ou eventuellement trouver tous les fichiers dont le nom est
plus long que 30 caracteres par exemple)
Je cherche à recuperer facilement la longueur du nom de certains de mes fichiers (ou eventuellement trouver tous les fichiers dont le nom est plus long que 30 caracteres par exemple)
j'utilise find . -name "*"
find . -name "?????????????????????????????*"
Francois Nospam
Francois Nospam écrit:
Je cherche à recuperer facilement la longueur du nom de certains de mes fichiers (ou eventuellement trouver tous les fichiers dont le nom est plus long que 30 caracteres par exemple)
j'utilise find . -name "*"
find . -name "?????????????????????????????*"
Merci beaucoup à tous
Francois Nospam <nospam@baviere.net> écrit:
Je cherche à recuperer facilement la longueur du nom de certains de mes
fichiers (ou eventuellement trouver tous les fichiers dont le nom est
plus long que 30 caracteres par exemple)
Je cherche à recuperer facilement la longueur du nom de certains de mes fichiers (ou eventuellement trouver tous les fichiers dont le nom est plus long que 30 caracteres par exemple)