The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Tilordne o / p av awk til en variabel c2b2 Shell programmering og Skripting 8 04-01-2009 08:50
tilordne en verdi til en variabel Shivdatta Shell programmering og Skripting 10 01-17-2007 07:40
tilordne verdien til variabelen ved hjelp awk HAA Shell programmering og Skripting 4 12-06-2006 11:43
tilordne en verdi til variabelen markjason Shell programmering og Skripting 3 10-10-2006 03:05
tilordne variable AkumaTay UNIX for Dummies Spørsmål og svar 1 05-18-2002 03:11

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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 03-19-2009
sunpraveen's Avatar
sunpraveen sunpraveen is offline
Registrert bruker
  
 

Bli Date: Jan 2009
Beliggenhet: Pruthvi
Innlegg: 85
Question Kan ikke tilordne verdien til variabelen ved hjelp awk coz av mellomrom i verdi

Unix gurus,

Jeg har en fil som nedenfor, som er utgangspunktet resultatet sett hentet fra en SQL-spørring på en Oracle-database.


Code:
ID           PROG_NAME      USER_PROG_NAME
-------- --------------- ----------------------------------------
33045      INCOIN             Import Items
42690      POXPOPDOI       Import Standard Purchase Orders

Jeg vil tildele resultatene til variablene. Noe sånt som:


Code:

cat filename | tail +4 | while read line ## tail +4 because the first 3 lines are the heading!
do
id=$(echo ${line} | awk '{print $1}')
prog_name=$(echo ${line} | awk '{print $2}')
user_prog_name=$(echo ${line} | awk '{print $3}')



Men jeg ikke å tildele den 3. kolonnen til variabel user_prog_name siden det er mellomrom.

Hvordan kan jeg løse dette problemet?

TIA,

Hilsen,

PRAVEEN
  #2 (permalink)  
Old 03-19-2009
chengamsiva chengamsiva is offline
Registrert bruker
  
 

Bli Date: Mar 2009
Sted: Bangalore, India
Innlegg: 2
Legg til en annen variabel

Erstatt
din linje: user_prog_name \u003d $ (echo $ (line) | awk '(print $ 3)')

by: user_prog_name \u003d $ (echo $ (line) | awk '(print $ 3 $ 4 $ 5 $ 6)')
(eller)
user_prog_name \u003d $ (echo $ (line) | awk '(print $ 3 "" $ 4 "" $ 5 "" $ 6)') for å gi enkelt mellomrom "mellom $ 3, $ 4, $ 5 og $ 6 når verdiene er store i variabel.


Jeg innlegg dette skriptet etter sjekk.
Det går fint.
konseptet:
her er vi bli med resten siste n coloumn og lagre det i en variabel.
byebye ..
  #3 (permalink)  
Old 03-19-2009
sunpraveen's Avatar
sunpraveen sunpraveen is offline
Registrert bruker
  
 

Bli Date: Jan 2009
Beliggenhet: Pruthvi
Innlegg: 85
Sitat:
Originally Posted by chengamsiva View Post
Erstatt
din linje: user_prog_name \u003d $ (echo $ (line) | awk '(print $ 3)')

by: user_prog_name \u003d $ (echo $ (line) | awk '(print $ 3 $ 4 $ 5 $ 6)')
(eller)
user_prog_name \u003d $ (echo $ (line) | awk '(print $ 3 "" $ 4 "" $ 5 "" $ 6)') for å gi enkelt mellomrom "mellom $ 3, $ 4, $ 5 og $ 6 når verdiene er store i variabel.
Løsningen fungerer dersom antall ord i kolonnen USER_PROG_NAME er kjent. Men det er IKKE.

Den kan inneholde 1, 2 eller 5 ord med mellomrom som skiller dem.

Så innerst inne hva jeg vil er: fra $ 3 til enden av linjen.

Hvor nøyaktig kan jeg få den?

TIA,

Hilsen,

PRAVEEN
  #4 (permalink)  
Old 03-23-2009
chengamsiva chengamsiva is offline
Registrert bruker
  
 

Bli Date: Mar 2009
Sted: Bangalore, India
Innlegg: 2
Hei,
Nå Erstatt

din linje: user_prog_name \u003d $ (echo $ (line) | awk '(print $ 3)')
by: user_prog_name \u003d $ (echo $ (line) | awk '(for (a \u003d 3; en <\u003d NF; a + +) print $ a)')
Closed Thread

Hugseliste

Tags
awk, tomme

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 03:08.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0