The UNIX and Linux Forums  


Go Back   Die UNIX-und Linux-Foren > Top Foren > UNIX for Dummies Questions & Answers
.
Google unix.com



UNIX for Dummies Questions & Answers Wenn Sie nicht sicher sind, wo Sie eine UNIX-oder Linux-Frage, post it here. Alle UNIX-und Linux-Anfänger willkommen!

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Haltestelle finden Sie auf einem Unix-Verzeichnis-Struktur nach der Feststellung 1. Auftreten jm0221 Shell Programmierung und Scripting 3 06-06-2008 08:19 PM
Hilfe bei der Suche & Ersetzen-Muster in einer Datei dusoo Shell Programmierung und Scripting 0 05-23-2008 04:59 AM
ersetzen bestimmte Zeichen mit neuen Linie? Bashar Shell Programmierung und Scripting 4 05-13-2007 05:34 PM
Finden & Ersetzen leere Zeilen / Räume in einer Datei Gerry405 SUN Solaris 2 07-21-2005 05:49 AM
Shellscript zum Suchen und Ersetzen in der GD-UNIX Gerry405 UNIX for Dummies Questions & Answers 3 07-12-2005 09: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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 01-31-2008
stresing stresing is offline
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 3
Finden n-te Auftreten in Einklang und ersetzen

Hi,

Ich habe mehrere Dateien mit Daten, die importiert werden, um eine Datenbank. Diese Dateien enthalten Sätze mit Trennzeichen Zeichen. Einige Datensätze sind beschädigt (2 Separatoren fehlen) und ich brauche, um sie vor dem Import in die DB.
Beispiel:

| Feld1 | Feld2 | Feld3 | Feld4 | Feld5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | | |
| Feld1 | Feld2 | Feld3 | Feld4 | Feld5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | field13 | fühlen D14 | field15
| Feld1 | Feld2 | Feld3 | Feld4 | Feld5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | field13

Die Sätze 1 und 2 sind richtig. Sie bestehen aus 15 optionale Felder getrennt durch 15 | Zeichen.
Record 3 ist beschädigt, da sie die fehlenden 2 Separator-Zeichen vor field13.
Es sollte wie folgt aussehen:
| Feld1 | Feld2 | Feld3 | Feld4 | Feld5 | field6 | field7 | field8 | field9 | field10 | field11 | field12 | | | field13

Wie kann ich erreichen, indem Sie sed oder awk oder etwas anderes?
Jede Hilfe ist sehr willkommen!

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

Join Date: Jun 2003
Ort: Schottland
Beiträge: 431
ok - nicht zu gewinnen, einen Preis für schöne Code, aber


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

funktioniert. Mit der Eingabe von Ihnen zur Verfügung, die folgende ist die 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
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 3
Hey, vielen Dank für Ihre schnelle Antwort!

I don't care über ziemlich Lösungen - es funktioniert und das ist wichtig für mich! Ich habe gerade getestet auf meinem eigentlichen Dateien, und das ist, was ich gesucht!

Vielleicht eines Tages habe ich die Zeit bis zum Zuhälter die Erklärung - aber ich werde nicht gewinnen und ...

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

Join Date: Jan 2007
Lage: Варна, България / Milano, Italia
Posts: 2926
Wenn das die Voraussetzung:


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

Verwenden Sie nawk oder / usr/xpg4/bin/awk auf Solaris.
  #5 (permalink)  
Old 01-31-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
(echo 1 .. 9) ^ 2 \, | bc
  
 

Join Date: Jun 2003
Ort: Schottland
Beiträge: 431
Jetzt gibt man - das ist es, was ein echter Guru kommt mit, und ich bin beeindruckt - nicht einmal daran gedacht, dass hinterhältigen Lösung.

schöne Stück Code radoulov - ich lernen etwas Neues aus Ihre Beiträge - Sie da Mensch.
  #6 (permalink)  
Old 02-01-2008
stresing stresing is offline
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 3
Wow, das ist eine wirklich schöne Lösung. Ich hätte nie festgestellt, dass auf meiner eigenen - natürlich, das ist der Grund, warum ich auf die Dummies Forum ... Danke!
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 07:14 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0