• =?UTF-8?Q?shell_script_f=c3=bcr_sgf_Datei?=

    From Jens-Olaf Lindermann@21:1/5 to All on Fri Feb 3 19:50:01 2023
    Moin,

    da ich in so was nicht fit bin, eine Frage ins Forum:

    Problem:
    Große Textdatei (*.sgf) mit vielen Go-Spielen. Da ich die nur einzeln in
    eine Go-Software (Katrain) laden kann, steh ich jetzt sozusagen vor
    einem maildir mbox Problem.

    Meine Idee:
    Nun könnte man ja per shellscript (oder auch anders, bitte gern
    Vorschläge) quasi 'ne Schere rüberlaufen lassen, die das in
    Einzeldateien zerlegt, so mein Gedanke. Aber dafür bin ich zu blöd.

    Aufbau der Spiele in der großen Datei ist immer:

    Beginnt mit

    (; PARTIEDATEN WER GEGEN WEN WANN SPIELZÜGE
    )

    (; PARTIEDATEN WER GEGEN WEN WANN SPIELZÜGE
    )


    Das heißt, man hätte mit (; und ) die Indikatoren für "Schnipp" und "Schnapp" oder? Wenn das 10 Partien werden, würde ich das händisch
    lösen, es sind aber 356. Und da hab ich keinen Bock drauf.

    Hat jemand eine Idee und kann helfen?

    J


    --
    PGP-Key available
    8923 F718 CFC1 9490 6711 0D3B 17A5 0634 6B71 A0DF

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Rolf Reintjes@21:1/5 to Jens-Olaf Lindermann on Fri Feb 3 20:50:01 2023
    On 03.02.23 19:21, Jens-Olaf Lindermann wrote:


    Moin,

    da ich in so was nicht fit bin, eine Frage ins Forum:

    Problem:
    Große Textdatei (*.sgf) mit vielen Go-Spielen. Da ich die nur einzeln in eine Go-Software (Katrain) laden kann, steh ich jetzt sozusagen vor
    einem maildir mbox Problem.

    Meine Idee:
    Nun könnte man ja per shellscript (oder auch anders, bitte gern
    Vorschläge) quasi 'ne Schere rüberlaufen lassen, die das in
    Einzeldateien zerlegt, so mein Gedanke. Aber dafür bin ich zu blöd.

    Aufbau der Spiele in der großen Datei ist immer:

    Beginnt mit

    (; PARTIEDATEN WER GEGEN WEN WANN SPIELZÜGE
    )

    (; PARTIEDATEN WER GEGEN WEN WANN SPIELZÜGE
    )


    Das heißt, man hätte mit (; und ) die Indikatoren für "Schnipp" und "Schnapp" oder? Wenn das 10 Partien werden, würde ich das händisch
    lösen, es sind aber 356. Und da hab ich keinen Bock drauf.

    Hat jemand eine Idee und kann helfen?


    rolf@SL510-debian:~/USB16GB/mywork/awk/2023_02_03$ cat 1.awk
    #!/usr/bin/awk -f
    BEGIN{
    spiel=0;
    }

    /PARTIEDATEN WER GEGEN WEN WANN SPIELZÜGE/ {
    spiel++;
    outputfile = sprintf("spiel%d", spiel);
    print "" > outputfile;
    }

    {
    print >> outputfile;
    }



    rolf@SL510-debian:~/USB16GB/mywork/awk/2023_02_03$ ./1.awk 1.sgf


    rolf@SL510-debian:~/USB16GB/mywork/awk/2023_02_03$ ls -l
    insgesamt 16
    -rwxr-xr-x 1 rolf rolf 195 3. Feb 20:40 1.awk
    -rw-r--r-- 1 rolf rolf 113 3. Feb 20:28 1.sgf
    -rw-r--r-- 1 rolf rolf 57 3. Feb 20:43 spiel1
    -rw-r--r-- 1 rolf rolf 58 3. Feb 20:43 spiel2

    So habe ich das grob gelöst. Eventuelle Änderungswünsche musst du mir mitteilen.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Rolf Reintjes@21:1/5 to Jens-Olaf Lindermann on Fri Feb 3 22:00:01 2023
    On 03.02.23 19:21, Jens-Olaf Lindermann wrote:


    Moin,

    da ich in so was nicht fit bin, eine Frage ins Forum:

    Problem:
    Große Textdatei (*.sgf) mit vielen Go-Spielen. Da ich die nur einzeln in eine Go-Software (Katrain) laden kann, steh ich jetzt sozusagen vor
    einem maildir mbox Problem.

    Meine Idee:
    Nun könnte man ja per shellscript (oder auch anders, bitte gern
    Vorschläge) quasi 'ne Schere rüberlaufen lassen, die das in
    Einzeldateien zerlegt, so mein Gedanke. Aber dafür bin ich zu blöd.

    Aufbau der Spiele in der großen Datei ist immer:

    Beginnt mit

    (; PARTIEDATEN WER GEGEN WEN WANN SPIELZÜGE
    )

    (; PARTIEDATEN WER GEGEN WEN WANN SPIELZÜGE
    )


    Das heißt, man hätte mit (; und ) die Indikatoren für "Schnipp" und "Schnapp" oder? Wenn das 10 Partien werden, würde ich das händisch
    lösen, es sind aber 356. Und da hab ich keinen Bock drauf.

    Hat jemand eine Idee und kann helfen?

    rolf@SL510-debian:~/USB16GB/mywork/awk/2023_02_03$ csplit 1.sgf
    /PARTIEDATEN/ {*}

    csplit ist für mich aber auch neu.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Rolf Reintjes@21:1/5 to Rolf Reintjes on Fri Feb 3 22:30:01 2023
    On 03.02.23 21:56, Rolf Reintjes wrote:
    On 03.02.23 19:21, Jens-Olaf Lindermann wrote:


    Moin,

    da ich in so was nicht fit bin, eine Frage ins Forum:

    Problem:
    Große Textdatei (*.sgf) mit vielen Go-Spielen. Da ich die nur einzeln
    in eine Go-Software (Katrain) laden kann, steh ich jetzt sozusagen vor
    einem maildir mbox Problem.

    Meine Idee:
    Nun könnte man ja per shellscript (oder auch anders, bitte gern
    Vorschläge) quasi 'ne Schere rüberlaufen lassen, die das in
    Einzeldateien zerlegt, so mein Gedanke. Aber dafür bin ich zu blöd.

    Aufbau der Spiele in der großen Datei ist immer:

    Beginnt mit

    (; PARTIEDATEN WER GEGEN WEN WANN SPIELZÜGE
    )

    (; PARTIEDATEN WER GEGEN WEN WANN SPIELZÜGE
    )


    Das heißt, man hätte mit (; und ) die Indikatoren für "Schnipp" und
    "Schnapp" oder? Wenn das 10 Partien werden, würde ich das händisch
    lösen, es sind aber 356. Und da hab ich keinen Bock drauf.

    Hat jemand eine Idee und kann helfen?

    rolf@SL510-debian:~/USB16GB/mywork/awk/2023_02_03$ csplit 1.sgf
    /PARTIEDATEN/ {*}

    csplit ist für mich aber auch neu.

    Oder so:

    rolf@SL510-debian:~/USB16GB/mywork/awk/2023_02_03$ csplit 1.sgf /\(/ {*}

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jens-Olaf Lindermann@21:1/5 to All on Sat Feb 4 01:40:01 2023
    Oder so:

    rolf@SL510-debian:~/USB16GB/mywork/awk/2023_02_03$ csplit 1.sgf /\(/ {*}

    Besser!! Hat wunderbar geklappt. Danke.


    --
    PGP-Key available
    8923 F718 CFC1 9490 6711 0D3B 17A5 0634 6B71 A0DF

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)