Rechercher : dans
Par :

[script bash] compter le nombre de caractères

Dernière réponse le 17 avr 2008 à 21:54:19 the_moon, le 2 avr 2005 à 23:42:05 
 Signaler ce message aux modérateurs

Encore une question pour le projet que je dois rendre bientôt (je suis dans un IUT d'informatique):

Comment pourais-je faire pour compter le nombre de "/" sur une ligne d'un fichier texte ?
Chaque ligne est en fait le chemin complet permetant d'acceder à un fichier, elle peut donc contenir des espaces si un dossier porte un nom de plusieurs mots.
j'ai pensé à 'wc' (word counter) mais je ne sais pas comment l'utiliser pour qu'il compte les /, et je ne sais pas s'il existe une autre commande pour compter les occurences d'un seul caractère dans une chaine donnée.


(j'arrive a selectionner la ligne voulue et à en récuperer des morceaux, mon problème est juste d'arriver à les compter)

Merci beaucoup !

Et merci à ceux qui ont répondu à toutes mes précédentes questions, ça m'a beaucoup aidé à avancer !

Meilleures réponses pour « [script bash] compter le nombre de caractères » dans :
Compter les mots dans un document (OpenOffice.org ou Word) VoirIl est parfois utile de pouvoir compter le nombre de mots ou de caractères dans un document. Les deux principales suites bureautiques permettent de le faire très simplement : Avec Word Avec OpenOffice.org Avec Word Ouvrez votre document...
Bash - Les paramètres VoirIntroduction Les paramètres positionnels Exemple 1 Les paramètres spéciaux Exemple 2 Initialiser des paramètres - La commande "set" - Exemples - La commande "shift" - Exemple 3 Introduction Il est possible de fournir à un script,...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...

1

asevere, le 2 avr 2005 à 23:57:51

Bonsoir.

Y'a sans doute beaucoup de façon de faire ça

En voilà déjà une:

PBG4:~ adrien$ cat test
/klsjdq
/qsd/qsdgfd
/zer/ghf/sdf
/zer/fgh/vcbb/ret
PBG4:~ adrien$ awk 'BEGIN{ FS="/" }{ print NF-1 }' test 
1
2
3
4
Séparateur de champ: "/"
Nombre de champs dans la ligne courante: "NF"
Nombre de séparateurs de champ: "NF-1"

@+ ...Mana mana
   Tutudutu...

Répondre à asevere

2

the_moon, le 3 avr 2005 à 01:02:00

Merci beaucoup, je vais essayer ça !

Encore une question, qui me permettrait d'améliorer un peu mon proogramme:
Est-ce qu'il est possible de limiter le nombre de caractères lus par la commande 'read' ?
Je voudrais que l'utilisateur ne puisse taper qu'un nombre limité de caractères, par exemple 30, plutôt que de devoir couper un morceau du texte par la suite !

Merci !

Répondre à the_moon

3

asevere, le 3 avr 2005 à 02:28:13

Pas de problemes:

-n nchars
                     read returns after reading nchars characters rather  than
                     waiting for a complete line of input.


(cf man bash, section SHELL BUILTIN COMMANDS /read)

Bonne nuit! ...Mana mana
   Tutudutu...

Répondre à asevere

4

the_moon, le 3 avr 2005 à 02:39:04

Merci !

Bonne nuit à toi aussi, j'essayerai tout ça demain, et je pense que j'arriverai à tout finir avec ça.

Répondre à the_moon

5

Urukwai, le 3 avr 2008 à 11:03:54

Pour information :

si file vaut /home/toto/dir/foo.txt

${file##*/} vaut foo.txt ! Ce qui devrait répondre à la question.

Cordialement.

Répondre à Urukwai

6

Skyll, le 17 avr 2008 à 20:59:00

C'est peu être une question débile car je ne dois pas avoir le niveau... Mais où faut il recopier la commande pour qu'elle s'éxécute ? =)

Répondre à Skyll

7

 Skyll, le 17 avr 2008 à 21:54:19

Nan c'est bon problème réglé !

Merci =)

Répondre à Skyll
Collection CommentÇaMarche.net