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 > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Assignation de valeurs à un tableau par l'intermédiaire de / en boucle fiori_musicali De programmation et de script Shell 2 11-24-2008 11:01 PM
Assignation de valeurs à un tableau kkraja De programmation et de script Shell 1 08-11-2008 06:28 AM
manipulation de chaîne psalas UNIX pour les nuls Questions et réponses 9 04-15-2008 10:00 AM
attribuer des valeurs à une variable trichyselva UNIX pour les nuls Questions et réponses 3 12-14-2007 01:55 AM
Assignation de valeurs à un tableau Yongho UNIX pour les nuls Questions et réponses 4 07-13-2005 08:49 PM

Reply
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 06-15-2009
Anteus Anteus is offline
Registered User
  
 

Date d'inscription: juin 2009
Posts: 54
retreiving et en attribuant des valeurs et de manipulation de chaîne de caractères dans une boucle for

Salut

Je suis nouvelle dans les scripts shell et je prépare un script.
pour l'instant je suis sur un sous-partie de celui-ci .. mais je suis incapable de le faire fonctionner.

---
le code de test que je travaille sur
--------------------------
IFS \u003d ""
Sample_eve \u003d `psg proc_s | grep TY»
n \u003d 0
pour la ligne en $ Sample_eve
faire
n \u003d `expr $ n + 1»
Sam $ n \u003d $ ( `echo $ line | awk-F" "(print $ 5) '| awk-F": "' (print $ 2) '`)
echo $ Sam $ n
fait
----------------------------
ce que j'essaie de ce ..
une liste de tous les processus nommé proc_s qui sont actuellement en cours et sont sur la machine .. TY
peupler les dans la variable Sample_eve.
et l'accès de chaque ligne de la Sample_eve et de les traiter sur une base individuelle.
mais il n'est pas le cas .. pour que la boucle passe par une fois .. si je ne fais pas de IFS \u003d "" puis la ligne prend mot à mot les données de l'Sample_eve $ ... par laquelle je ne peux pas obtenir des temps de départ distinct pour chaque processus. (il tourne 35 fois pour les 4 lignes .. je veux le faire tourner que 4 fois pour 4 lignes).

je fais `echo $ line | awk-F" "(print $ 5) '| awk-F": "' (print $ 2) '` .. afin d'obtenir l'heure de début de chaque processus en quelques minutes .. alors i en lui attribuant suis Sam tableau de manière à obtenir le départ minute pour chaque processus.
mais pour une sortie d'erreur comme celle-ci ..
de ce tableau que la cession d'essai [9]: 04 ^ J28 ^ J04 ^ J09: pas trouvé.
04, 28,04,09 sont correctement démontré qu'ils sont les minutes .. mais pas de manière appropriée.

Je suis coincé avec cette chose .. s'il vous plaît, aidez-moi. Je suis incapable de faire le code de travail.

je suis à l'aide du korn shell.
merci
  #2 (permalink)  
Old 06-15-2009
rakeshawasthi rakeshawasthi is offline
Registered User
  
 

Join Date: Aug 2004
Lieu: Inde
Messages: 379
Citation:
Posté par Anteus View Post
Sam $ n \u003d $ ( `echo $ line | awk-F" "(print $ 5) '| awk-F": "' (print $ 2) '`)
Vous ne pouvez pas faire comme ça ... $ Ne devrait pas venir sur le côté gauche.
Cela fonctionne ...
Code:
Sam=`echo $line |awk -F" " {print $5}' |awk -F":" '{print $2}'`
  #3 (permalink)  
Old 06-15-2009
Anteus Anteus is offline
Registered User
  
 

Date d'inscription: juin 2009
Posts: 54
Citation:
Posté par rakeshawasthi View Post
Vous ne pouvez pas faire comme ça ... $ Ne devrait pas venir sur le côté gauche.
Cela fonctionne ...
Code:
Sam=`echo $line |awk -F" " {print $5}' |awk -F":" '{print $2}'`


-----------

Salut merci .. le code que vous avez travaillé.

mais d'autres tout en ayant accès à la gamme Sam. i am avoir quelques problèmes.

1: Quand je Sam (echo $ [$ 2]) plutôt que de donner le 2ème élément il affiche tous les

2: ((i \u003d 0; i <$ (# Sam [@]); i + +))
faire
echo $ (Sam [$ i])
fait
une erreur de lancer son
Test [16]: erreur de syntaxe à la ligne 17: `(( 'inattendu

s'il vous plaît pouvez-vous dire comment s'y prendre pour accéder au tableau ..
  #4 (permalink)  
Old 06-15-2009
rakeshawasthi rakeshawasthi is offline
Registered User
  
 

Join Date: Aug 2004
Lieu: Inde
Messages: 379
Citation:
Posté par Anteus View Post
-----------

Salut merci .. le code que vous avez travaillé.

mais d'autres tout en ayant accès à la gamme Sam. i am avoir quelques problèmes.

1: Quand je Sam (echo $ [$ 2]) plutôt que de donner le 2ème élément il affiche tous les

2: de ((i \u003d 0; i <$ (# Sam [@]); i + +))
faire
echo $ (Sam [$ i])
fait
une erreur de lancer son
Test [16]: erreur de syntaxe à la ligne 17: `(( 'inattendu

s'il vous plaît pouvez-vous dire comment s'y prendre pour accéder au tableau ..
On ne peut pas écrire une boucle comme celle-ci, sauf si vous utilisez awk.
Je donne un exemple de matrice et de la boucle pour vous ...
Code:
set -A _Array 1 2 3 4 5
for i in ${_Array[@]}
do
   echo $i
done
  #5 (permalink)  
Old 06-15-2009
Anteus Anteus is offline
Registered User
  
 

Date d'inscription: juin 2009
Posts: 54
Citation:
Posté par rakeshawasthi View Post
On ne peut pas écrire une boucle comme celle-ci, sauf si vous utilisez awk.
Je donne un exemple de matrice et de la boucle pour vous ...
Code:
set -A _Array 1 2 3 4 5
for i in ${_Array[@]}
do
   echo $i
done

Ouais. mais que faire si ce n'est que le deuxième élément de la série Sam doit être l'écho ..

et pourquoi est-ce que Sam (echo $ [$ 2]) imprime l'ensemble de Sam tableau?
  #6 (permalink)  
Old 06-15-2009
rakeshawasthi rakeshawasthi is offline
Registered User
  
 

Join Date: Aug 2004
Lieu: Inde
Messages: 379
de cette façon ...
Code:
echo ${_Array[1]}
  #7 (permalink)  
Old 06-15-2009
Anteus Anteus is offline
Registered User
  
 

Date d'inscription: juin 2009
Posts: 54
Citation:
Posté par rakeshawasthi View Post
de cette façon ...
Code:
echo ${_Array[1]}

Tentatives .. mais ce n'est pas rien ... l'impression d'une autre manière et de savoir faire.

le code de test est

IFS \u003d ""
psg veille \u003d `ftp | grep TV»
n \u003d 0
pour la ligne en veille $
faire
n \u003d `expr $ n + 1»
echo $ line
array \u003d `echo $ line | awk-F" " '(print $ 5)' | awk-F": " '(print $ 2)'`
(echo $ array [2])
fait
Reply

Bookmarks

Tags
awk, couper, pour chaque, boucle

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 10:18 AM.


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