The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

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
Sådan ændres området SEPERATOR onthetopo Shell Programmering og Scripting 2 05-11-2007 12:11 PM
Brug | som en SEPERATOR i tiltræde firvin UNIX for dummyer Spørgsmål & svar 5 03-28-2006 11:23 AM
Comma SEPERATOR premar Shell Programmering og Scripting 6 02-17-2006 04:16 AM
hvordan jeg kan bruge et ord for SEPERATOR qrshat Sun Solaris 3 02-10-2006 07:08 AM
Awk Felt SEPERATOR Hjælp insania Shell Programmering og Scripting 3 11-11-2005 04:29 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 05-26-2009
Pinnacle pinnacle is offline
Registreret Bruger
  
 

Join Date: Apr 2009
Posts: 182
SUBSEP SEPERATOR problem med awk

Følgende kode fjerner ny linje med i dobbelte anførselstegn
Jeg erstatter newline karakter med i dobbelte anførselstegn med 123.
Code:
intermediatenewline_remover () {
    typeset Infile=$1
    nawk -F"," '{ record = record $0
 if ( gsub( /"/, "&", record ) % 2 ) 
 {
     record = record "123"
     next
 }
    }
    { 
 print record
 record = ""
    }' Infile
}
Her er jeg kombinere 4. og 5. område med "123" som SEPERATOR
Code:
    nawk -F"|" '{print $2,$3,$4"123"$5}' OFS="|" file
Udskiftning komma og SEPERATOR "123" med rummet.
Problemet her er, hvis data er "123", som også vil blive erstattet med rummet.
Jeg ønsker kun "123" SEPERATOR der skal udskiftes.

Code:
    nawk -F"|" '{gsub(",", " ",$3);gsub("123", " ",$3);print}' OFS="|" file
Jeg forsøgte at bruge SUBSEP
Denne kode i stedet for at bruge værdi for SUBSEP "\ 034" sin indsættelse "SUBSEP"

Code:
intermediatenewline_remover () {
    typeset Infile=$1
    nawk -F"," '{ record = record $0
 if ( gsub( /"/, "&", record ) % 2 ) 
 {
     record = record "SUBSEP"
     next
 }
    }
    { 
 print record
 record = ""
    }' Infile
}
og hvordan man håndterer denne ændring i denne kode

Code:
    nawk -F"|" '{print $2,$3,$4"123"$5}' OFS="|" file
    nawk -F"|" '{gsub(",", " ",$3);gsub("123", " ",$3);print}' OFS="|" file
  #2 (permalink)  
Old 05-26-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 5.748
SUBSEP er en kommasepareret som standard, det er det, \ 034 er. Bare bruge ","

Kan du ikke formatere din output med printf (format-strengen, [værdi], ...);
  #3 (permalink)  
Old 05-26-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.121
du bruger en SUBSEP som en string, Og ikke som en builtin variabel - løs det dobbelte anførselstegn.
  #4 (permalink)  
Old 05-26-2009
Pinnacle pinnacle is offline
Registreret Bruger
  
 

Join Date: Apr 2009
Posts: 182
Citat:
Oprindeligt Indsendt af vgersh99 View Post
du bruger en SUBSEP som en string, Og ikke som en builtin variabel - løs det dobbelte anførselstegn.

Takket Vgersh99.

jim McNamara --
Citat:
echo "," | od-bc
0000000 054 012
, \ N
0000002
Comma oktal værdi er 054.
Nogen måde subsep værker for nu.
Tak.
Closed Thread

Bogmærker

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 PÃ¥
Smilies er PÃ¥
[IMG] koden er PÃ¥
HTML-koden er Slukket
Trackbacks er PÃ¥
Pingbacks er PÃ¥
Refbacks er PÃ¥




Alle tidspunkter er GMT -4. Den tid er nu 12:03 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