The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

Go Back   UNIX e Linux Forum > Inizio Forum > UNIX for Dummies Domande & Risposte
.
google unix.com



UNIX for Dummies Domande & Risposte Se non sei sicuro dove pubblicare un UNIX o Linux domanda, posta da qui. Tutti i neofiti di Linux e UNIX benvenuto!

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
smettere di unix trovare una struttura di directory dopo aver constatato evento 1. jm0221 Shell scripting e di programmazione 3 06-06-2008 07:19 PM
aiuto per trovare e sostituzione del modello in un file dusoo Shell scripting e di programmazione 0 05-23-2008 03:59 AM
sostituisce alcuni caratteri con nuova linea? Bashar Shell scripting e di programmazione 4 05-13-2007 04:34 PM
ricerca e sostituzione delle righe vuote / spazi in un file Gerry405 SUN Solaris 2 07-21-2005 04:49 AM
shellscript per la ricerca e la sostituzione della DG-UNIX Gerry405 UNIX for Dummies Domande & Risposte 3 07-12-2005 08:12 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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 01-31-2008
stresing stresing is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 3
Trovare ennesima comparsa in linea e la sua sostituzione

Salve,

Ho diversi file con i dati che devono essere importati in un database. Questi file contengono le registrazioni con separatore caratteri. Alcune segnalazioni sono corrotti (2 separatori sono mancanti) e ho bisogno di correggerle prima di importazione in un database.
Esempio:

| 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 | sentirsi D14 | field15
| field1 | field2 | field3 | field4 | field5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | field13

Il record 1 e 2 sono corrette. Si tratta di 15 campi opzionali separati da 15 | caratteri.
Record 3 è danneggiato, dato che manca il separatore 2 caratteri avanti field13.
Essa dovrebbe essere simile a:
| field1 | field2 | field3 | field4 | field5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | | | field13

Come faccio a raggiungere questo obiettivo utilizzando sed o awk o qualcos'altro?
Qualsiasi aiuto è molto apprezzato!

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

Iscriviti Data: giugno 2003
Localizzazione: Scozia
Interventi: 431
ok - non andare a vincere un premio per il bel codice, ma,

Codice:
 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
opere. Con l'ingresso è previsto, è il seguente O / P:

Codice:
|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
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 3
Ehi, grazie per la tua risposta veloce!

Non mi preoccupo di soluzioni piuttosto - funziona e che è importante per me! Ho appena provato con il mio vero file e questo è quello che ho cercato!

Forse un giorno ho il tempo di magnaccia la dichiarazione - ma non voglio vincere un premio così ...

Grazie ancora!
  #4 (permalink)  
Old 01-31-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Iscriviti Data: gennaio 2007
Ubicazione: Варна, България / Milano, Italia
Interventi: 2.854
Se questo è il requisito:

Codice:
awk 'NF==16||$NF=FS FS $NF' OFS="|" FS="|" filename
Usa nawk / o usr/xpg4/bin/awk su Solaris.
  #5 (permalink)  
Old 01-31-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Iscriviti Data: giugno 2003
Localizzazione: Scozia
Interventi: 431
adesso ci si va - questo è ciò che un vero e proprio arriva con il guru, e sono impressionato - non ha mai pensato che anche subdolo soluzione.

bella pezzo di codice radoulov - Continuo a imparare qualcosa di nuovo dal tuo post - è da uomo.
  #6 (permalink)  
Old 02-01-2008
stresing stresing is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 3
Wow, che è davvero un bel soluzione. Non ho mai avrebbe trovato che il mio - ovviamente, questo è il motivo per cui ho posto al forum Dummies ... Grazie!
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 12:36 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0