The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Toekennen van waarden aan een array via voor / while lus fiori_musicali Programmeren en Shell Scripting 2 11-24-2008 11:01 PM
Toewijzen van de waarden van een Array kkraja Programmeren en Shell Scripting 1 08-11-2008 07:28
string manipuleren psalas UNIX voor Dummies Questions & Answers 9 04-15-2008 11:00
toekennen van waarden aan een variabele trichyselva UNIX voor Dummies Questions & Answers 3 12-14-2007 01:55
Toekennen van waarden aan een array yongho UNIX voor Dummies Questions & Answers 4 07-13-2005 09: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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 06-15-2009
Anteus Anteus is offline
Geregistreerde gebruiker
  
 

Join Date: juni 2009
Posts: 54
retreiving en het toekennen van waarden en manipuleren string in een lus

Hoi

Ik ben nieuw voor shell scripting en ik ben het voorbereiden van een script.
voor nu ben ik werk aan een sub-onderdeel van het .. maar ik ben niet in staat om het te doen werken.

---
de test-code that i am working on
--------------------------
IFS \u003d ""
Sample_eve \u003d `psg proc_s | grep TY"
n \u003d 0
voor de lijn in $ Sample_eve
doen
n \u003d `expr $ n + 1"
Sam $ n \u003d $ ( `echo $ line | awk-F" "(print $ 5) '| awk-F": "' (print $ 2) '")
echo $ Sam $ n
gedaan
----------------------------
wat ik probeer te dit is ..
een lijst van alle het proces genaamd proc_s dat moment actief zijn en worden op de machine TY ..
bevolken ze in de variabele Sample_eve.
en vervolgens toegang tot elke lijn van de Sample_eve en verwerken ze op individuele basis.
maar het is niet gebeurt .. lus alleen gaat door eenmaal .. als ik geen IFS \u003d "" dan regel neemt letterlijk de gegevens van de $ Sample_eve ... door die ik niet kan krijgen aparte begintijd voor elk proces. (hij loopt 35 keer voor 4 lijnen .. i wilt laten draaien slechts 4 keer voor 4 lijn).

ik doe `echo $ line | awk-F" "(print $ 5) '| awk-F": "' (print $ 2) '` .. zo krijg de begintijd voor elk proces in een paar minuten .. dan moet ik ben toewijzen in array Sam zo krijgt het begin minuut voor elk proces.
maar om een output fout als deze ..
voor deze opdracht array als Test [9]: 04 ^ J28 ^ J04 ^ J09: niet gevonden.
04, 28,04,09 correct weergegeven zijn de notulen .. maar is niet op een behoorlijke manier.

Ik zit vast met dit ding .. please help me. Ik ben niet in staat om de code werken.

Ik gebruik de Korn shell.
bedankt
  #2 (permalink)  
Old 06-15-2009
rakeshawasthi rakeshawasthi is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2004
Locatie: India
Posts: 379
Citaat:
Oorspronkelijk geplaatst door Anteus View Post
Sam $ n \u003d $ ( `echo $ line | awk-F" "(print $ 5) '| awk-F": "' (print $ 2) '")
U kunt niet zoals deze ... $ Moet niet komen aan de linkerkant.
Dit zal werken ...

Code:
Sam=`echo $line |awk -F" " {print $5}' |awk -F":" '{print $2}'`

  #3 (permalink)  
Old 06-15-2009
Anteus Anteus is offline
Geregistreerde gebruiker
  
 

Join Date: juni 2009
Posts: 54
Citaat:
Oorspronkelijk geplaatst door rakeshawasthi View Post
U kunt niet zoals deze ... $ Moet niet komen aan de linkerkant.
Dit zal werken ...

Code:
Sam=`echo $line |awk -F" " {print $5}' |awk -F":" '{print $2}'`


-----------

Hi thanks .. de code die u heeft gewerkt.

maar verder, terwijl de toegang tot de array Sam. Ik heb een aantal kwesties.

1: Als ik echo $ (Sam [$ 2]) in plaats van de 2e element print ze allemaal

2: ((i \u003d 0; i <$ (# Sam [@]); i + +))
doen
echo $ (Sam [$ i])
gedaan
het gooien van een fout
Test [16]: syntax error op regel 17: "((" onverwachte

kan u vertellen hoe te gaan over de toegang tot de array ..
  #4 (permalink)  
Old 06-15-2009
rakeshawasthi rakeshawasthi is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2004
Locatie: India
Posts: 379
Citaat:
Oorspronkelijk geplaatst door Anteus View Post
-----------

Hi thanks .. de code die u heeft gewerkt.

maar verder, terwijl de toegang tot de array Sam. Ik heb een aantal kwesties.

1: Als ik echo $ (Sam [$ 2]) in plaats van de 2e element print ze allemaal

2: voor ((i \u003d 0; i <$ (# Sam [@]); i + +))
doen
echo $ (Sam [$ i])
gedaan
het gooien van een fout
Test [16]: syntax error op regel 17: "((" onverwachte

kan u vertellen hoe te gaan over de toegang tot de array ..
We kunnen niet schrijven een lus als dit, tenzij u gebruik maakt van awk.
Ik geef een voorbeeld van Array en lus voor je ...

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
Geregistreerde gebruiker
  
 

Join Date: juni 2009
Posts: 54
Citaat:
Oorspronkelijk geplaatst door rakeshawasthi View Post
We kunnen niet schrijven een lus als dit, tenzij u gebruik maakt van awk.
Ik geef een voorbeeld van Array en lus voor je ...

Code:
set -A _Array 1 2 3 4 5
for i in ${_Array[@]}
do
   echo $i
done

Ja. maar wat te doen als alleen de tweede element van de array Sam moet worden herhaald ..

en waarom doet echo $ (Sam [$ 2]) drukt de hele array Sam?
  #6 (permalink)  
Old 06-15-2009
rakeshawasthi rakeshawasthi is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2004
Locatie: India
Posts: 379
deze manier ...

Code:
echo ${_Array[1]}

  #7 (permalink)  
Old 06-15-2009
Anteus Anteus is offline
Geregistreerde gebruiker
  
 

Join Date: juni 2009
Posts: 54
Citaat:
Oorspronkelijk geplaatst door rakeshawasthi View Post
deze manier ...

Code:
echo ${_Array[1]}

Geprobeerd .. maar haar niet afdrukken iets ... een andere manier weet u om dit te doen.

de test-code is

IFS \u003d ""
vooravond \u003d "psg ftp | grep tV"
n \u003d 0
voor de lijn in $ vooravond
doen
n \u003d `expr $ n + 1"
echo $ regel
array \u003d `echo $ line | awk-F" " '(print $ 5)' | awk-F": " '(print $ 2)'`
(echo $ array [2])
gedaan
Reply

Bladwijzers

Labels
awk, snijden, voor elke, lus

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 04:25 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0