[RESOLU][SH] Compter le nombre d'occurences d'un caractère....

Compter le nombre d'occurences d'un caractère.... [RESOLU][SH] - Shell/Batch - Programmation

Marsh Posté le 12-12-2005 à 17:34:22    

Bonjour,
 
Je cherche a compter le nombre d'occurences de la chaine || dans un fichier .csv.
Je peux également compter le nombre de caractères | puisqu'ils vont toujours par deux.
 
J'ai essayé pas mal de trucs entre les greps, wc, ... mais je n'arrive pas au résultat souhaité.
 
Quelqu'un aurait il une idée ?
 
 
Question optionnelle :
Mon fichier .csv est un export d'une base de donnée. Savez vous ce que ca donne si un champ d'un enregistrement de cette base de donnée contient un | ? Ca va mettre \| ?
 
Merci beaucoup,
Worldofdada


Message édité par Worldofdada le 06-01-2006 à 14:32:13
Reply

Marsh Posté le 12-12-2005 à 17:34:22   

Reply

Marsh Posté le 04-01-2006 à 23:23:41    

j'viens de penser à un truc tout bete :  
 
tu compte le nombre de caractère avant avec wc -l
avec un tr -d "||" tu supprime tout les  ||  
 
tu compte le nombre de carac après  et tu fait la différence
 
 
T'en pense koi c'est sympa non ?


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 04-01-2006 à 23:26:20    

Encore moi j'en ai un autre encore mieux
 
cat ton_fichier | tr -d "\n" | tr -s "||" "\n" | wc -l
 
 
Tu supprimes tout les saut de lignes, puis tu remplace tout les || par des \n et tu comptes le nombres de lignes
 
 
J'adore le shell  :love:  


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 04-01-2006 à 23:42:23    

Le caractère | n'a pas besoin d'être échappé dans le norme SQL, donc logiquement, il va rester comme ça.
 
De mémoire, seuls %, ' et... c'est tout doivent être échappés en SQL, et contrairement à l'échappement ANSI (\x) en SQL c'est la double occurence le caractère d'échappement : %% et ''

Reply

Marsh Posté le 06-01-2006 à 14:32:23    

Merci beaucoup :)

Reply

Marsh Posté le 06-01-2006 à 21:17:50    

PierreC a écrit :

Encore moi j'en ai un autre encore mieux
 
cat ton_fichier | tr -d "\n" | tr -s "||" "\n" | wc -l
 
 
Tu supprimes tous les saut de lignes, puis tu remplaces tout les || par des \n et tu comptes le nombres de lignes
 
 
J'adore le shell  :love:


 
J'aime aussi beaucoup. Mais pour remplacer les "||" par "\n", vaut-il mieux utiliser "tr" ou "sed" ???


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed