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
Split eine Datei in mehrere Dateien glamo_2312 Shell Programmierung und Scripting 3 09-15-2008 10:58 AM
Split-Datei in mehrere Dateien je nach ersten 4 Ziffern deepakgang Shell Programmierung und Scripting 4 04-09-2008 02:21 AM
Mehrere ausführen. SQL-Dateien von einem Einzel-Shell Script-Datei anushilrai Shell Programmierung und Scripting 3 04-07-2008 11:09 AM
Help Needed: Split eine große Datei in mehrere Dateien monicasgupta Shell Programmierung und Scripting 5 03-03-2008 07:09 PM
die Aufteilung einzigen großen Log-Datei in mehrere Dateien. kamleshm Shell Programmierung und Scripting 1 01-15-2008 07:33 PM

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 09-11-2008
smarter_aries smarter_aries is offline
Registrierte Nutzer
  
 

Join Date: Sep 2008
Beiträge: 4
Split einer einzigen SQL-Datei in mehrere Dateien

Hi, ich habe eine einzelne SQL-Datei mit vielen CREATE TABLE DDL's. Beispiel:
CREATE TABLE sec_afs
(
rpt_per_typ_c CHAR (1) NOT NULL,
rpt_per_typ_t varchar (20) NULL,
LOCK AllPages
gehen
EXEC sp_primarykey "sec_afs", rpt_per_typ_c
gehen
GRANT SELECT ON sec_afs ZU developer_read_only
gehen

CREATE TABLE dbo.sec_iccc
(
user_nt_id_c CHAR (16) NOT NULL,
unit_id_c CHAR (4) NOT NULL
)
LOCK AllPages
gehen
GRANT SELECT ON sec_iccc ZU developer_read_only
gehen

CREATE TABLE sac_recon (
rec_number int NOT NULL,
rec_grp_number int NOT NULL,
)
gehen

Ich möchte, dass die Aufteilung dieser Datei in einzelne Dateien jeweils für eine Tabelle, ich habe eine leere Zeile vor jeder "CREATE TABLE" statement.So kann ich eine neue Datei, wenn alle "CREATE TABLE" ist encountered.Please sagen Sie mir, wie Sie dies in unix.-Dank
  #2 (permalink)  
Old 09-11-2008
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Ort: NM
Beiträge: 5.800
Wenn Sie versuchen csplit

Code:
csplit mynewfile myfile.sql '^$'

  #3 (permalink)  
Old 09-12-2008
smarter_aries smarter_aries is offline
Registrierte Nutzer
  
 

Join Date: Sep 2008
Beiträge: 4
Split einer einzigen SQL-Datei in mehrere Dateien

Hi Jim, vielen Dank für die Antwort,
Ich habe versucht die folgenden:
$ Csplit all_tables_Production '^ $'
csplit: ^ $: Bad Zeilennummer
$ Csplit all_tables_Production% $% ^
csplit: $% ^ - außerhalb der Reichweite
$ Csplit all_tables_Production `^ $`
ksh: ^ $: nicht gefunden
aber es funktioniert nicht.
  #4 (permalink)  
Old 09-12-2008
rubin's Avatar
Rubin rubin is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Nov 2007
Beiträge: 321
Wenn die leere Zeile zwischen CREATE TABLE Absätzen ist immer dies sollte ausreichen:


Code:
awk '/CREATE TABLE/{ n++; print > (f="out_" n); close(f)}' RS=  sql_file

Anderweitig zu nutzen,


Code:
awk '/CREATE TABLE/{f=0 ;n++; print >(file="out_" n); close("out_" n-1)} f{ print > file}; /CREATE TABLE/{f=1}'  sql_file

  #5 (permalink)  
Old 09-15-2008
smarter_aries smarter_aries is offline
Registrierte Nutzer
  
 

Join Date: Sep 2008
Beiträge: 4
Split einer einzigen SQL-Datei in mehrere Dateien

Hi Rubin,
Dank Ihrer Lösung funktioniert!
awk '/ CREATE TABLE / (n + +; drucken> (f \u003d "out_" n), close (f)) "RS \u003d alltables
aber, ich habe fast 183 "CREATE TABLE"-Skripte in der Datei ist und die oben genannten Abstürze mit der Fehlermeldung:
awk: zu viele Dateien 10-Ausgang
Eintrag Nummer 11

Die zweite Lösung ergibt:
awk '/ CREATE TABLE / (f \u003d 0, n + +; drucken> (file \u003d "out_" N); enge ( "out_" n-1) f) (print> Datei); / CREATE TABLE / f \u003d (1) "alltables
awk: Syntaxfehler in der Nähe der Linie 1
awk: Rettung in der Nähe der Linie 1


Please let me know-how können wir die Größe von 10 bis 200.
Danke
  #6 (permalink)  
Old 09-15-2008
rubin's Avatar
Rubin rubin is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Nov 2007
Beiträge: 321
Ich sehe ..., das ist kein Problem awk, aber ein Betriebssystem ein. Ich bezweifle allerdings, dass die Grenze von Dateien in einem dir nur 10, sie hat zu mehr als die Art und Weise.
Getestet habe ich die Codes in Solaris, und sie bombardiert nur nach ~ 55000 Dateien wurden in eins dir, sie waren alle in guter Form, und meine Test-Datei habe ~ 1500000 Zeilen.

Nun, in diesem Fall ich würde vorschlagen, dass eine Aufteilung der Datei in kleinere Stücke (siehe man Split Seiten Ihrer OS) auf die Größe, dass die Codes nicht scheitern, die gleiche Anzahl von Verzeichnissen, da die Zahl der Stücke, die, bewegen diese Chunks auf den neu erstellten dirs, und führen Sie die angegebenen Codes separat in jedem dieser Verzeichnisse erstellt.

Übrigens, wenn Sie auf Solaris nutzen nawk.
Closed Thread

Lesezeichen

Tags
mehrere Dateien, aufteilen, unix

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 08:01 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