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
Sådan udtrækkes første kolonne med en specificitetsattestering selamba_warrior Shell Programmering og Scripting 3 05-22-2008 06:14 AM
Veje ud af * karakter i ksh. arvindcgi Shell Programmering og Scripting 6 05-19-2008 10:50 AM
[CSH] kontrol for specifikke karakter værdiskalaer i en variabel userix Shell Programmering og Scripting 5 05-11-2008 08:56 AM
Sådan ændres en specifik karakter i en fil sdubey Shell Programmering og Scripting 6 02-22-2008 03:30 PM
Sådan tilføjes karakter i særlige situation for en snor? victorlung Shell Programmering og Scripting 5 09-01-2006 11:33 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 01-28-2008
brainyoung brainyoung is offline
Registreret Bruger
  
 

Join Date: Jan 2008
Stillinger: 13
Exclamation Escaping specificitetsattester i awk

Hello there,

Jeg har lidt beskidt afgrænset fil, jeg nævnte beskidt fordi, det afgrænsningstegn kan også vises i forkerte positioner. Men en unikke i denne fil er
når afgrænsningstegn forekomme inde i dobbelt anførselstegn, så skal du ikke betragte det som afgrænsningstegn, hvis den anbringes uden dobbelt derefter overveje det som afgrænsningstegn.


Indhold udseende nedenfor

abc; def; ghi "KL; mn; op"; qrst; uv; w; xyz;

AWk

inp \u003d $ 1
nawk-F "" '(print $ 1 "~" $ 2 "~" $ 3 "~" $ 4 "~" $ 5 "~" $ 6 "~" $ 7 "~" $ 8;)' $ inp>> $ (inp) _det . txt

giver mig ouptut som

abc ~ def ~ ghi ~ "kl ~ mn ~ op" ~ qrst ~ uv

Men forventes produktionen

abc ~ def ~ ghi ~ "KL; mn; op" ~ qrst ~ uv ~ w ~ xyz


I'm slags i stå, hvordan man kan slippe for dobbelt anførselstegn. Jeg sætter pris på enhver pointers.

tak
  #2 (permalink)  
Old 01-28-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Join Date: Jun 2003
Location: Skotland
Posts: 431
hmmm

Hacky løsning er:


Code:
tr "\"" "%" <file1 | nawk -F";" '{ print $1"~"$2"~"$3"~"$4"~"$5"~"$6"~"$7"~"$8; }' | tr "%" "\""

dvs konvertere " 's til%' s derefter kort dem tilbage senere ....


EDIT: nope - ignorere mig - jeg taler skrald ;-) for tidligt på en mandag morgen - har brug for mere koffein
  #3 (permalink)  
Old 01-28-2008
brainyoung brainyoung is offline
Registreret Bruger
  
 

Join Date: Jan 2008
Stillinger: 13
Hej,

For at være mere præcis, alle felter er dobbelt noteres og afgrænset af semi colon;

noget lignende:
"ABC", "def", "ghi", "KL; mn; op"; "qrst"; "uv", "w", "xyz";

Jeg har preprocessed filerne ved at fjerne alle dobbelt anførselstegn & dernæst bemærket, sandsynligvis, som ikke ville arbejde, som jeg har brug for en slags markør for at fortælle, at alle værdier inde i dobbelt anførselstegn er lige værdi og ikke afgrænsningstegn. Somhow kæmper for at trykke på de rigtige taster
  #4 (permalink)  
Old 01-28-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Join Date: Jun 2003
Location: Skotland
Posts: 431
ah, så bør dette arbejde:


Code:
sed 's/\";"/%/g' file | nawk -F"%" '{ print $1"~"$2"~"$3"~"$4"~"$5"~"$6"~"$7"~"$8; }'

samme slags trick - erstatte ";" med%, og bruge den% som delimeter,
  #5 (permalink)  
Old 01-28-2008
brainyoung brainyoung is offline
Registreret Bruger
  
 

Join Date: Jan 2008
Stillinger: 13
Takket Tytalus!!
  #6 (permalink)  
Old 12-12-2008
tosattam tosattam is offline
Registreret Bruger
  
 

Join Date: Aug 2008
Stillinger: 13
Hej

Jeg har et \ (backslash) som afgrænsningstegn og jeg ønsker en bestemt kolonne fra denne. Jeg har været ude af stand til at gøre det ved hjælp af enten awk eller sed

Input
tosattam123 \ mattasewq213

Jeg ønsker, at Output
mattasewq213

Jeg har forsøgt at undslippe \ med / " 'og mange andre som godt, men til ingen nytte

kan nogen hjælpe
  #7 (permalink)  
Old 12-12-2008
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.131

Code:
echo 'tosattam123\mattasewq213' | awk -F'\\' '{print $2}'

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




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