Datei aufteilen und Header und Footer hinzufügen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von zuerichris, 05.04.2011.

  1. #1 zuerichris, 05.04.2011
    zuerichris

    zuerichris Grünschnabel

    Dabei seit:
    05.04.2011
    Beiträge:
    8
    Zustimmungen:
    0
    Hallo,

    ich habe eine Datei mit ca. 500.000 Zeilen die ich in Einzeldateien zu je 20.000 Zeilen aufteilen muss, die dann fortlaufend numeriert sein sollen. Diese Einzeldateien benötigen zusätzlich einen Header und Footer (ist jeweils in einer eigenen Datei drin)

    Wie müsste der Code dazu aussehen? Bin Unix-Neuling, habe mal ein paar Sachen zusammengesucht:

    Code:
    BBP_REQUEST_COUNT = wc -l BBP_ISIN_LIST
    
    while read BBP_REQUEST_HEADER
    
    	BBP_REQUEST_ROWNUMBER = BBP_REQUEST_ROWNUMBER + BBP_LINES_LIMIT 
    
    	BBP_REQUEST_FULLNAME = BBP_REQUEST_FILE + BBP_REQUEST_FILENUMBER + BBP_REQUEST_EXT 
    
    	head -63 BBP_REQUEST_HEADER > BBP_REQUEST_FULLNAME
    
    	head BBP_REQUEST_ROWNUMBER BBP_ISIN_LIST > BBP_REQUEST_FULLNAME
    
    	head -3 BBP_REQUEST_FOOTER > BBP_REQUEST_FULLNAME
    
    done
    Vielen Dank!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    erster Ansatz:
    Code:
    man split
    man cat
     
  4. #3 zuerichris, 05.04.2011
    zuerichris

    zuerichris Grünschnabel

    Dabei seit:
    05.04.2011
    Beiträge:
    8
    Zustimmungen:
    0
    Schleifen

    Super, das Kommando SPLIT hilft ungemein.

    Jetzt muss ich dann nur noch ne Schleife haben die

    von aa bis max. zz (je nach menge der gesplitteten Dateien) zählt

    damit ich darin das Kommando CAT nutzen kann.

    Danke!
     
  5. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    Code:
    man find
    oder ls, for, ...
     
  6. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Code:
     for f in in [[:lower:]][[:lower:]]; do echo $f; done
     
  7. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    soll das nur ein nicht (oder "merkwürdig") funktionierendes Beispiel für eine for-Schleife sein oder was ist die Intension hinter dieser Zeile?
     
  8. #7 HeadCrash, 05.04.2011
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Hi,

    das "[[:lower:]][[:lower:]]" ist hier als Wildcard in Verwendung, um alle Dateien im Verzeichnis zu finden die aus zwei kleinen Buchstaben bestehen.

    Das eine "in" ist dennoch zuviel :).

    Im Prinzip macht das nichts anders wie ein
    Code:
    for f in `ls [[:lower:]][[:lower:]]` ... 
    Das sich for so verhält war mir aber bis eben auch nicht bewusst, aber man lernt ja nie aus und in Zukunft spar ich mir das "`ls *` wohl öfter mal.

    mfg
    HeadCrash
     
  9. #8 zuerichris, 05.04.2011
    zuerichris

    zuerichris Grünschnabel

    Dabei seit:
    05.04.2011
    Beiträge:
    8
    Zustimmungen:
    0
    Also erstmal bin ich begeistert ob der vielen schnellen Antworten! Danke!

    Jetzt hab ich also mein Script geschrieben und bekomme auch die Ausgabedateien schön aufgeteilt. Allerdings kann ich sie nicht vom Unix Server runterkopieren ("Encountered 1 errors during transfer") und auch nicht mit dem VI-command ansehen (~ ~...)

    Woran kann das noch liegen?

    Danke für Eure Hilfe!
     
  10. #9 zuerichris, 05.04.2011
    zuerichris

    zuerichris Grünschnabel

    Dabei seit:
    05.04.2011
    Beiträge:
    8
    Zustimmungen:
    0
    Muss ich die Dateien nach dem SPLIT noch irgendwie "abschliessen"?
     
  11. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    wie willst Du sie herunterladen? Wie willst Du sie konkret ansehen? Was ist die exakte Fehlermeldung? Bitte jeweils 1:1, im Wortlaut, per Copy-Paste, ohne irgendwelche Kürzungen...
     
  12. #11 zuerichris, 06.04.2011
    zuerichris

    zuerichris Grünschnabel

    Dabei seit:
    05.04.2011
    Beiträge:
    8
    Zustimmungen:
    0
    Ich habe einen SSH Tectia Client und SSH Tectia File Transfer Client, mit dem ich auf meinen PC laden will.

    Das Problem scheint aber beim Anhängen der Buchstaben an den Dateinamen zu bestehen, die Ausgabe bei ls -ltr zeigt nämlich folgendes:

    aaa-rw-r-- 1 a446561 cruser 65000 Apr 5 16:49 bbp_test
    aab-rw-r-- 1 a446561 cruser 65000 Apr 5 16:49 bbp_test

    Die "Endung" ist plötzlich vorn, mitten zwischen den Berechtigungen...

    ?(
     
  13. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  14. zst

    zst Foren As

    Dabei seit:
    06.09.2006
    Beiträge:
    95
    Zustimmungen:
    0
    Da geht wohl was beim Erzeugen des Dateinamens schief. Mach doch mal ein
    ls -lb
    dann siehst Du, wie der Dateiname wirklich aussieht. Vielleicht ein \r drin oder so ...
     
  15. #13 zuerichris, 06.04.2011
    zuerichris

    zuerichris Grünschnabel

    Dabei seit:
    05.04.2011
    Beiträge:
    8
    Zustimmungen:
    0
    Auch das Problem ist gelöst. Ich musste um das SPLIT - Command noch die ` setzen. Danach spitze...
     
Thema:

Datei aufteilen und Header und Footer hinzufügen

Die Seite wird geladen...

Datei aufteilen und Header und Footer hinzufügen - Ähnliche Themen

  1. User sollen Dateien speichern und ändern, aber nicht neu anlegen dürfen

    User sollen Dateien speichern und ändern, aber nicht neu anlegen dürfen: Hallo liebe Helfer, welche Einstellungen muss ich in der smb.conf bzw. unter Linux vornehmen, damit User vorhandene Dateien öffnen und speichern...
  2. Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...

    Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...: Ich habe eine Textdatei in der ich Einträge bis zum 3. Leerzeichen mit den restlichen Zeilen (auch nur bis 3. Leerzeichen) vergleichen muss und...
  3. Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen

    Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen: Hallo, ich habe ein Verzeichnis, darin enthalten sind mehrere Dateien. Nun möchte ich alle Dateien (Parameter $1) gegen eine konstante Datei...
  4. Dateiinhalte vergleichen - Neue Sätze dann ausgeben

    Dateiinhalte vergleichen - Neue Sätze dann ausgeben: Liebe Forumsmitglieder, ich benöte mal wieder Eure Hilfe: Ich möchte 2 Dateien vergleichen. Datei-1 hat z.B. 100 Datensätze mit mehreren Feldern...
  5. Dateien selektieren und zählen

    Dateien selektieren und zählen: Hallo, das ist mein erster Beitrag, bitte entschuldigt, falls nicht alles richtig geschrieben ist. Ich muss meine erste Hausaufgabe als...