The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > UNIX for Dummies Spørsmål og svar
.
google unix.com



UNIX for Dummies Spørsmål og svar Hvis du er usikker på hvor du skal legge inn en UNIX-eller Linux-spørsmålet, legger den her. Alle UNIX og Linux newbies velkommen!

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
stoppe unix finne på en katalogstrukturen etter finne 1ste forekomst jm0221 Shell programmering og Skripting 3 06-06-2008 08:19
hjelp til å finne og erstatte mønsteret i en fil dusoo Shell programmering og Skripting 0 05-23-2008 04:59
setter visse tegn med ny linje? Bashar Shell programmering og Skripting 4 05-13-2007 05:34
finne og erstatte tomme rader / mellomrom i en fil Gerry405 Sun Solaris 2 07-21-2005 05:49
shellscript for å finne og sette i DG-UNIX Gerry405 UNIX for Dummies Spørsmål og svar 3 07-12-2005 09:12

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 01-31-2008
stresing stresing is offline
Registrert bruker
  
 

Bli Date: Jan 2008
Innlegg: 3
Finne NTH forekomst på linje og erstatte den

Hei,

Jeg har flere filer med data som skal importeres til en database. Disse filene inneholder poster med separator tegn. Noen poster er korrupt (2 separatorer mangler) og jeg trenger å rette dem opp før du importerer dem inn i db.
Eksempel:

| field1 | field2 | field3 | field4 | field5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | | |
| field1 | field2 | field3 | field4 | field5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | field13 | føler d14 | field15
| field1 | field2 | field3 | field4 | field5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | field13

Postene 1 og 2 er riktig. De består av 15 valgfrie felt atskilt med 15 | tegn.
Record 3 er skadet siden den mangler 2 separator tegn foran field13.
Det skal se slik ut:
| field1 | field2 | field3 | field4 | field5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | | | field13

Hvordan kan jeg oppnå dette ved å bruke sed eller awk eller noe annet?
Hjelp er verdsatt!

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

Bli Dato: juni 2003
Sted: Skottland
Innlegg: 431
ok - ikke kommer til å vinne en premie for pen kode, men


Code:
 awk -F"|" 'NF==16{print}NF==14{OFS="|";$16=$14;$14="";print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16}' infile

arbeider. Med inngang du har oppgitt, er å følge O / P:


Code:
|field1|field2|field3|field4|field5|field6|field7|field8|field9|field10|field11|field12|||
|field1|field2|field3|field4|field5|field6|field7|field8|field9|field10|field11|field12|field13|fiel d14|field15
|field1|field2|field3|field4|field5|field6|field7|field8|field9|field10|field11|field12|||field13

HTH,
  #3 (permalink)  
Old 01-31-2008
stresing stresing is offline
Registrert bruker
  
 

Bli Date: Jan 2008
Innlegg: 3
Hei, takk for raskt svar!

Jeg bryr meg ikke om pen-løsninger - det fungerer og det er viktig for meg! Jeg bare testet på mitt egentlige arkiv og det er det jeg så etter!

Kanskje en dag jeg har tid til å pimp påstanden - men jeg vil ikke vinne en premie i tillegg ...

Thanks again!
  #4 (permalink)  
Old 01-31-2008
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
stoffmisbruker
  
 

Bli Date: Jan 2007
Beliggenhet: Варна, България / Milano, Italia
Innlegg: 2926
Hvis det er kravet:


Code:
awk 'NF==16||$NF=FS FS $NF' OFS="|" FS="|" filename

Bruk nawk eller / usr/xpg4/bin/awk på Solaris.
  #5 (permalink)  
Old 01-31-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Bli Dato: juni 2003
Sted: Skottland
Innlegg: 431
nå er det du går - det er hva en ekte guru kommer opp med, og jeg er imponert - ikke engang tenkt på det fordekte løsning.

nice piece of code radoulov - Jeg fortsetter å lære noe nytt av innleggene dine - du da mann.
  #6 (permalink)  
Old 02-01-2008
stresing stresing is offline
Registrert bruker
  
 

Bli Date: Jan 2008
Innlegg: 3
Wow, det er en veldig fin løsning. Jeg ville aldri ha funnet ut at på min egen - selvfølgelig, det er grunnen til at jeg legger til Dummies forumet ... Takk!
Closed Thread

Hugseliste

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 07:01.


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