The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Tildel o / p af awk til en variabel c2b2 Shell Programmering og Scripting 8 04-01-2009 08:50 AM
tildele en værdi til en variabel Shivdatta Shell Programmering og Scripting 10 01-17-2007 07:40 AM
tildeler værdi til variabel bruger AWK HAA Shell Programmering og Scripting 4 12-06-2006 11:43 AM
tildele en værdi til variablen markjason Shell Programmering og Scripting 3 10-10-2006 03:05 PM
tildele variable AkumaTay UNIX for dummyer Spørgsmål & svar 1 05-18-2002 03:11 PM

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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 03-19-2009
sunpraveen's Avatar
sunpraveen sunpraveen is offline
Registreret Bruger
  
 

Join Date: Jan 2009
Beliggenhed: Pruthvi
Stillinger: 85
Question Ude af stand til at tildele værdien til variablen bruger awk coz af whitespace i værdi

Unix gurus,

Jeg har en fil som nedenstående, der er dybest set det resultat, der er opnået fra en SQL-forespørgsel på en Oracle-database.

Code:
ID           PROG_NAME      USER_PROG_NAME
-------- --------------- ----------------------------------------
33045      INCOIN             Import Items
42690      POXPOPDOI       Import Standard Purchase Orders
Jeg vil knytte resultaterne til variabler. Noget lignende:

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 er ikke i stand til at tildele den 3. kolonne til variabel user_prog_name da det har rum.

Hvordan kan jeg løse dette problem?

TIA,

Hilsen,

Praveen
  #2 (permalink)  
Old 03-19-2009
chengamsiva chengamsiva is offline
Registreret Bruger
  
 

Join Date: Mar 2009
Beliggenhed: Bangalore, Indien
Stillinger: 2
Tilføj en anden variabel

Erstat
Deres linje: user_prog_name \u003d $ (echo $ (linje) | awk '(print $ 3)')

af: user_prog_name \u003d $ (echo $ (linje) | awk '(print $ 3 $ 4 $ 5 $ 6)')
(eller)
user_prog_name \u003d $ (echo $ (linje) | awk '(print $ 3 "" $ 4 "" $ 5 "" $ 6)') til at give enkelt mellemrum "mellem $ 3, $ 4, $ 5 og 6 dollars, når de værdier, der opbevares i variable.


Jeg er efter dette script efter check.
Det kører fint.
begreb:
vi her slutte de resterende sidste n coloumn og gemme det i en variabel.
byebye ..
  #3 (permalink)  
Old 03-19-2009
sunpraveen's Avatar
sunpraveen sunpraveen is offline
Registreret Bruger
  
 

Join Date: Jan 2009
Beliggenhed: Pruthvi
Stillinger: 85
Citat:
Oprindeligt Indsendt af chengamsiva View Post
Erstat
Deres linje: user_prog_name \u003d $ (echo $ (linje) | awk '(print $ 3)')

af: user_prog_name \u003d $ (echo $ (linje) | awk '(print $ 3 $ 4 $ 5 $ 6)')
(eller)
user_prog_name \u003d $ (echo $ (linje) | awk '(print $ 3 "" $ 4 "" $ 5 "" $ 6)') til at give enkelt mellemrum "mellem $ 3, $ 4, $ 5 og 6 dollars, når de værdier, der opbevares i variable.
Din løsning virker, hvis antallet af ord i kolonnen USER_PROG_NAME er vide. Men det er ikke.

Det kan indeholde 1, 2 eller endda 5 ord med mellemrum, der adskiller dem.

Så dybest set, hvad jeg ønsker, er: fra $ 3 til slutningen af linjen.

Hvordan præcist kan jeg nå det?

TIA,

Hilsen,

Praveen
  #4 (permalink)  
Old 03-23-2009
chengamsiva chengamsiva is offline
Registreret Bruger
  
 

Join Date: Mar 2009
Beliggenhed: Bangalore, Indien
Stillinger: 2
Hej,
Nu Erstat

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

Bogmærker

Tags
awk, whitespace

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 09:35 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0