Datei aufteilen und Header und Footer hinzufügen

Diskutiere Datei aufteilen und Header und Footer hinzufügen im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; 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...

  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. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.149
    Zustimmungen:
    15
    erster Ansatz:
    Code:
    man split
    man cat
     
  3. #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!
     
  4. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.149
    Zustimmungen:
    15
    Code:
    man find
    oder ls, for, ...
     
  5. 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
     
  6. marce

    marce Kaiser

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

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    483
    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
     
  8. #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!
     
  9. #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"?
     
  10. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.149
    Zustimmungen:
    15
    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...
     
  11. #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...

    ?(
     
  12. 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 ...
     
  13. #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. Anlage einer SWAP-Datei unter CentOS 7 funktioniert nicht

    Anlage einer SWAP-Datei unter CentOS 7 funktioniert nicht: Hallo zusammen, ich verwende einen vServer von Strato (Linux V30) mit CentOS 7 64bit. Hier wollte ich nun einen SWAP-Speicher mit 8GB anlegen -...
  2. Dateiinhalt verdoppeln

    Dateiinhalt verdoppeln: Hallo, ich möchte den Inhalt einer Datei verdoppeln, Kopf- und Endesatz ausgenommen. Danach muss im Endesatz die Datensatzanzahl angepasst werden...
  3. Dateien in Unix finden, die mehrere Strings beinhalten

    Dateien in Unix finden, die mehrere Strings beinhalten: Hallo liebe Leute, ich versuche über die Shell unter Unix alle Dateien ausfindig zu machen, die sowohl den SuchstringA als auch den SuchstringB...
  4. Textdatei filtern und löschen mit grep /sed

    Textdatei filtern und löschen mit grep /sed: Guten morgen liebe Forenmitglieder, da ich etliche Jahre in Sachen Linux pausiert habe und nun wegen beruflichem Wechsel wieder dort einsteige...
  5. Fragen zu stty, quotes und Datein (flush)

    Fragen zu stty, quotes und Datein (flush): Hi, ich schreibe seit ein paar Tagen ein Skript, dass über die Serielle Schnittstelle kommuniziert. Leider gibt es noch zwei Probleme, die ich...