The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > UNIX pour les nuls Questions et réponses
.
google unix.com



UNIX pour les nuls Questions et réponses Si vous ne savez pas où poster un UNIX ou Linux question, post it here. Tous les systèmes UNIX et Linux, débutants bienvenus!

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Très urgent: - Comment comparer chaîne de caractères en utilisant if JISHA De programmation et de script Shell 1 01-14-2008 03:41 AM
tout lire en boucle w / a nested if - ne traite pas individuellement chaque entrée littlefrog De programmation et de script Shell 7 12-11-2007 09:49 PM
Pour loop statement - captures d'erreur lumdev De programmation et de script Shell 4 09-20-2007 07:50 AM
si, dans une boucle while bobo UNIX pour les nuls Questions et réponses 2 11-07-2006 12:38 PM
Aide à la boucle si (comparaison de chaîne de caractères) psynaps3 De programmation et de script Shell 4 07-07-2006 02:36 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 03-02-2006
Sniper Pixie Sniper Pixie is offline
Registered User
  
 

Join Date: Feb 2006
Posts: 25
si déclaration en boucle d'une chaîne de caractères

Je tente de transmettre une chaîne en boucle awk et à travers elle, et ensuite pour chaque occurrence d'un certain caractère effectuer une action. Dans ce cas, par exemple, echo 1 pour chaque caractère r est trouvée dans la chaîne. Sauf que je ne peux pas le faire au travail. Quelqu'un pourrait-il me dire pourquoi s'il vous plaît?


echo $ chaine | awk '(
for (i \u003d 1; i <\u003d length ($ 0); i + +)
faire
if (substr ($ 0, i, 1) \u003d\u003d "r")
echo "1"
fi
fait
) '
  #2 (permalink)  
Old 03-02-2006
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Join Date: Feb 2005
Lieu: Bangalore, Inde
Posts: 2,796
Code:
if [[ "$string" == *r* ]] ; then
  echo "Found r"
fi ;
  #3 (permalink)  
Old 03-02-2006
Sniper Pixie Sniper Pixie is offline
Registered User
  
 

Join Date: Feb 2006
Posts: 25
Merci pour votre réponse, mais je veux qu'il boucle à travers la chaîne, puis effectuer une action pour chaque occurrence de r, pas une seule fois. par exemple. "rover" de retour 11 dans cet exemple parce qu'il ya deux r à l'intérieur.

J'ai essayé d'adapter votre code pour qu'il ressemble à ceci:

echo $ chaine | awk '(
for (i \u003d 1; i <\u003d length ($ 0); i + +)
faire
if [[(substr ($ 0, i, 1) \u003d\u003d * r *)]], puis
echo "1"
fi;
fait
) '


mais vous analysez toutes les erreurs sur la place:

awk: cmd. ligne: 4: if [[(substr ($ 0, i, 1) \u003d\u003d * r *)]], puis
awk: cmd. ligne: 4: ^ parse error
awk: cmd. ligne: 4: if [[(substr ($ 0, i, 1) \u003d\u003d * r *)]], puis
awk: cmd. ligne: 4: ^ parse error
awk: cmd. ligne: 4: if [[(substr ($ 0, i, 1) \u003d\u003d * r *)]], puis
awk: cmd. ligne: 4: ^ parse error

D'autres idées?
  #4 (permalink)  
Old 03-02-2006
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Join Date: Feb 2005
Lieu: Bangalore, Inde
Posts: 2,796
Que voulez-vous faire?

Trouver le nombre d'occurrences d'un caractère dans une chaîne de caractères, ou cherchez-vous pour toutes les positions où le personnage apparaît?

Dernière édition par vino; au 03.02.2006 07:25 AM..
  #5 (permalink)  
Old 03-02-2006
gauravgoel gauravgoel is offline
Registered User
  
 

Join Date: Dec 2005
Lieu: Inde
Messages: 218
Citation:
Posté par vino
Que voulez-vous faire?

Trouver le nombre d'occurrences d'un caractère dans une chaîne de caractères, ou cherchez-vous pour toutes les positions où le personnage apparaît?

Pour nombre d'événements que vous pouvez faire

Code:
echo "$string" | grep -c "r"
Salut Vino,

En ce qui concerne la cause, je tiens à dire que le mai-dessus ne résout pas le problème, est d'avoir OP. Il est à la recherche de no. d'occurrence d'un caractère dans une chaîne de caractères. Et la commande ci-dessus donnera toujours une sortie de 1 si il ya un ou plus d'une occurrence de "r"
Veuillez me corriger si je me trompe

Gaurav
  #6 (permalink)  
Old 03-02-2006
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Join Date: Feb 2005
Lieu: Bangalore, Inde
Posts: 2,796
Citation:
Posté par gauravgoel
Salut Vino,

En ce qui concerne la cause, je tiens à dire que le mai-dessus ne résout pas le problème, est d'avoir OP. Il est à la recherche de no. d'occurrence d'un caractère dans une chaîne de caractères. Et la commande ci-dessus donnera toujours une sortie de 1 si il ya un ou plus d'une occurrence de "r"
Veuillez me corriger si je me trompe

Gaurav
Vous avez raison. Il donne 1. -c donne le nombre de lignes où la nature se produit.

Good catch.
  #7 (permalink)  
Old 03-02-2006
Sniper Pixie Sniper Pixie is offline
Registered User
  
 

Join Date: Feb 2006
Posts: 25
Merci gauravgoel, qui était exactement ce que je cherchais. Merci pour vos efforts ainsi, vino.
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 04:33 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0