Login
Newsletter

Thema: Womit verarbeiten Sie Textdateien automatisiert?

36 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von openWeb am Fr, 2. Mai 2014 um 14:35 #

...in welcher Sprache das zugehörige Projekt realisiert wurde. Unter Umständen ist es nämlich eher hinderlich, die Verarbeitung extern auszulagern, wenn man mit Skripten arbeitet, die synchron funktionieren.

NAchdem ich nun immer mehr mit NodeJS mache, bin ich allerdings wieder dazu übergegangen, einfach externe Tools zu nutzen, weil diese meistens einfach seit Jahren oder Jahrzehnten funktionieren! Warum das Rad immer wieder neu erfinden!?

[
| Versenden | Drucken ]
  • 0
    Von Bert am Fr, 2. Mai 2014 um 17:27 #

    Ich erfinde ebenso das Rad nicht neu :-)
    Meistens fängt es mit bash an, wird es komplexer und man braucht klarere Strukturen (Schleifen usw.), dann schreib' ich teilweise neu und ändere dabei die Shebang-Zeile. Längere Zeit nach Python. Jetzt doch wieder Skripte in Perl. So Richtung Python gedacht tendiere ich zur (grob gesagt) kompilierten Variante Genie. Diese "Skripte" sind dann natürlich schneller.
    https://en.wikipedia.org/wiki/Genie_(programming_language)

    [
    | Versenden | Drucken ]
    • 0
      Von kloete am Sa, 3. Mai 2014 um 01:39 #

      Kommt auf die Komplexität, Wichtigkeit, Portierbarkeit, Skalierbarkeit und Wartung an.

      Vieles kann man ich per Shellskript/sed/gawk/cut/uniq erledigen. Wird´s komplexer, dann gerne Python, vor allem wenn in DBs geschrieben werden muss.

      Ein sehr mächtiges Tool ist übriges FFE (Flat file extractor ) --> http://ff-extractor.sourceforge.net/

      [
      | Versenden | Drucken ]
0
Von traxanos am Fr, 2. Mai 2014 um 14:49 #

Ich nutze Ruby-Scripte und/oder Pipe dann viel mit SED/AWK

[
| Versenden | Drucken ]
  • 1
    Von RipClaw am Fr, 2. Mai 2014 um 15:50 #

    Bei mir ist es auch eine Mischung. Je nachdem wie komplex die Aufgabe ist verwende ich entweder Perl Skripte oder sed, awk und cut.
    Da ich meistens Listen verarbeiten muss kommen in der Regel auch noch sort und uniq dazu wenn ich z.B. Doppelte Einträge entfernen will.

    Dieser Beitrag wurde 1 mal editiert. Zuletzt am 02. Mai 2014 um 15:52.
    [
    | Versenden | Drucken ]
0
Von bssh am Fr, 2. Mai 2014 um 15:51 #

Wenn ich die Wahl habe, also keine Sprache vorgegeben ist, dann nehme ich immer Python. Es ist eine Wohltat im Vergleich zu Perl!

[
| Versenden | Drucken ]
1
Von Jürgen Sauer am Fr, 2. Mai 2014 um 16:21 #

Werkzeug wählen für die Aufgabe ... :D

[
| Versenden | Drucken ]
1
Von Anonymous am Fr, 2. Mai 2014 um 16:31 #

...meine Sekretärin... :D

[
| Versenden | Drucken ]
mehr Vim
0
Von autarch am Fr, 2. Mai 2014 um 17:26 #

Vim search and replace

[
| Versenden | Drucken ]
2
Von tuxtöter am Fr, 2. Mai 2014 um 18:55 #

PowerShell!

[
| Versenden | Drucken ]
0
Von finger am Fr, 2. Mai 2014 um 19:16 #

Der kurze Anfang in awk wird meistens zu einem ganzen Filter in awk. Dann macht man daraus ein binary indem man es mit awka in C übersetzt und anschliessend mit cc kompiliert.

http://awka.sourceforge.net/index.html

[
| Versenden | Drucken ]
0
Von gavin am Fr, 2. Mai 2014 um 20:35 #

...würde ich vermutlich Julia wählen.
Einfach, weil ich so beeindruckt bin, dass die Schaffer der Sprache wirklich an alles gedacht zu haben scheinen, z.B. ist Unicode von Anfang an richtig drin.

[
| Versenden | Drucken ]
0
Von Monk am Fr, 2. Mai 2014 um 22:02 #

durchforste, bearbeite, analysiere, reduziere und schreibe in DB's täglich ca. 400GByte Log- und Accountingdaten von postfix, apache,ngnix, squid, radius und co.

Alles on the fly als daemons realisiert. Insgesamt sind da inzwischen ca. 90000 Zeilen Code entstanden.

Ich hatte auch mal mit java getestet. Perl ist besser, braucht deutlich weniger Ressouren und ist schneller.

[
| Versenden | Drucken ]
0
Von Herzlos am Sa, 3. Mai 2014 um 02:36 #

Ich gehe bei der Frage mal vom privaten Umfeld aus und da habe ich meist keine Daten,
die ich so automatisiert verarbeiten müsste.

Diese Fälle sind recht selten, lediglich neulich hatte ich mal so einen Fall und da habe ich ein Shellscript geschrieben, weil dieses für den Zweck ausreichte und ich mit diesem zuerst angefangen hatte.
Und sobald das funktioniert, mache ich mir keine Mühe mehr, dass in einer anderen Sprache umzuschreiben.


Und wenn ich über ein Skript nachdenke, dann ist die Aufgabe oftmals so trivial und auf dieses eine Problem eingeschränkt, dass ich meistens manuell dann doch schneller am Ziel bin und es sich auch gar nicht erst lohnt ein Skript dafür zu schreiben. Manchmal genügt es auch einfach, manuell eine Kombination aus fertigen Werkzeugen dafür zu nutzen und in vielen Fällen, z.B. bei einer Berechnung von vielen Zahlenwerten, ist eine Tabellenkalkulation oder ein DBMS dann doch die bessere Lösung, als ein Skript selbst zu schreiben.

Insofern stellt sich die Frage, in welchen Fällen ihr im privaten Umfeld zu Skripten greift?
Ein paar Beispiele wären nicht schlecht.

[
| Versenden | Drucken ]
  • 0
    Von Herzlos am Sa, 3. Mai 2014 um 02:39 #

    Insofern stellt sich die Frage, in welchen Fällen ihr im privaten Umfeld zu Skripten greift?
    Also jetzt mal neben der Verwaltung von Dateioperationen.

    [
    | Versenden | Drucken ]
    0
    Von hh am So, 4. Mai 2014 um 14:17 #

    Na, z.B. wenn man Texte, wie z.B. freie Bücher, in ein schön formatiertes e-Book konvertieren will.

    [
    | Versenden | Drucken ]
0
Von pvb am Sa, 3. Mai 2014 um 05:56 #

Wenn ich normal programmiere, verwende ich meistens C++ und Qt.
Ich sehe keinen Grund das mit Text Dateien nicht auch zu tun.

[
| Versenden | Drucken ]
0
Von Monk am Sa, 3. Mai 2014 um 13:23 #

für das Bearbeiten großer Datenmengen

http://raid6.com.au/~onlyjob/posts/arena/

[
| Versenden | Drucken ]
  • 0
    Von Oh menno am So, 4. Mai 2014 um 01:09 #

    Ziemlich schlechte Quelle.

    int val=atoi(str);

    Zu behaupten, dass bei der Verwendung von atoi("2e+2") ein Ergebnis von "2" falsch wäre, zeugt lediglich von der Unfähigkeit Handbuchseiten zu lesen.

    atoi(X) entspricht der Funktion strtol(X, NULL, 10).

    The strtol() function converts the initial part of the string in nptr to a long integer value according to the given base, which must be between 2 and 36 inclusive, or be the special value 0.
    ....
    The remainder of the string is converted to a long int value in the obvious manner, stopping at the first character which is not a valid digit in the given base.

    Soweit ich informiert bin, ist das 'e' keine gültige Dezimalziffer.

    Bei solch groben Schnitzern habe ich schlicht keinen Antrieb, mir den Rest durchzulesen.

    [
    | Versenden | Drucken ]
    • 0
      Von LH_ am Mo, 5. Mai 2014 um 10:38 #

      Im Grunde ist der Text, soweit es mir scheint, am besten wie folgt zusammengefasst: "Perl ist perfekt. Alle anderen sind mist".

      Viele Schlussfolgerungen sind entweder an den Haaren herbeigezogen, basieren auf speziell auf die Stärken von Perl hin optimierten Tests oder sind reine Meinungsäußerungen.

      [
      | Versenden | Drucken ]
0
Von Lexi am Mo, 5. Mai 2014 um 06:39 #

Mal Awk, mal Shell, häufig sogar Emacs, denn die Tastaturmakros sind erste Sahne. Ich habe aber Python gewählt, weil ich es häufig nutze, weil es schön einfach ist.

Ich hatte am Samstag wieder das Vergnügen, ein komplizierteres Shell-Skript zu entwickeln. Es ist jedes Mal ein Abenteuer, weil die Bash-Syntax alles anderes als gut durchdacht ist.

[
| Versenden | Drucken ]
0
Von alpham8 am Mo, 5. Mai 2014 um 09:45 #

eine einfache Antwort auf eine komplizierte Frage gibt es nicht!

entweder openOffice mit Datenbankanbindung via ODBC für Serienbriefen usw..
Oder eine Eigenprogrammierung. Je nach Anwendungsfall mit Java, C# oder PHP.

Gerne vermeide ich es auch für soetwas "Insellösungen" zu nehmen, die nur unter einer bestimmten Umgebung funktionieren. Dementsprechend lasse ich in der Regel die Finger von Perl/Shellskripten aus dem Internet.

[
| Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten