bash script - kann mir jemand helfen? ;)

  • Hallo zusammen,


    Ich muss für einen Testfall etwas über 50'000 xml Dateien generieren. Jeweils mit eindeutigem Dateinamen, der ebenfalls im xml vorkommt...


    Ein XML habe ich. ( XMLNAME_DATUM_COUNTER.XML ) zB. Sendesystem_20120515_00001.xml


    In diesem xml steht natürlich einen Haufen drin. Unter anderem stehen da zwei Tags:


    Zitat

    <Document documentMimeType="pdf" documentName="Sendesystem_20120515_00001">


    <Attribute attributeName="DokumentID">Sendesystem_20120515_00001</attribute>


    Ich möchte ein ein shellscript erstellen, dass A dieses eine xml in einer for schleife 50'000 mal kopiert, und den counter im Dateiname sowie 2x im xml selber hochzählt und ablegt...


    Schaffe ich das in brauchbarer Zeit?


    Danke fürs feedback (werde erst morgen wieder lesen können)


    Gruess
    Mae

    NIVEAU ist keine Hautcreme

    Einmal editiert, zuletzt von mae ()

  • Mit Bash wüsst ich's gerade gar nicht


    Aber mit VBS gehts ganz easy. Sind etwa 10 Zeilen Code oder so.

    Gaming: AMD Ryzen 5 2600X, MSI B450M, 32GB RAM, Sapphire RX6900XT Nitro+ SE, 4TB SSD, 10TB HDD, Win11, Samsung Odyssey G7 32" 1440p@165Hz
    Server: AMD Ryzen 5 3600, Gigabyte B450M4, Quadro P400, 16Gb RAM, 500GB SSD, Plex Encoder

    Storage: Intel i3 3220T, ASRock Z77 Pro4, 4Gb RAM, 111 TB Storage (Seagate Exos), Plex Storage


  • Irgendwas wie: (bin grad unterwegs)


    #!/bin/sh
    DOC=Sendesystem_20120515_
    SUFFIX=.pdf
    COUNT=0
    while [ $COUNTER -lt 50000 ]; do
    touch $DOC$COUNTER$SUFFIX
    echo "<Attribute attributeName="DokumentID">Sendesystem_20120515_$COUNT"
    let COUNT+=1
    done

  • Hallo zusammen,


    Danke für die Antworten.


    Es gibt noch die eine ode andere Schwierigkeit :/
    Der Counter muss immer 5 Stellen haben "Sendesystem_20120515_00001.pdf", "Sendesystem_20120515_00002.pdf" etc.


    Aber ich muss wohl intern schauen. Für mich ist es nicht ohne weiteres machbar und nicht so effizient ;-)


    Ausser jemand hätte grad die Lösung..


    Besten Dank und Gruss
    Mae

  • Quick'n'dirty...


    #!/bin/sh
    DOC=Sendesystem_20120515_
    SUFFIX=.pdf
    COUNT=0
    while [ $COUNTER -lt 50000 ]; do
    if [ $COUNTER -lt 10 ]; then
    $COUNTER = 0000$COUNTER
    elif [ $COUNTER -lt 100 ]; then
    $COUNTER = 000$COUNTER
    elif [ $COUNTER -lt 1000 ]; then
    $COUNTER = 00$COUNTER
    elif [ $COUNTER -lt 10000 ]; then
    $COUNTER = 0$COUNTER
    fi

    touch $DOC$COUNTER$SUFFIX
    echo "<Attribute attributeName="DokumentID">Sendesystem_20120515_$COUNT"
    let COUNT+=1
    done


    oder so ;)

    TOWER i7 3930K | 7970 3GB | 32GB | GA-X79A-UD5 | 250GB Vertex 3 | Lian-Li V1200B-Plus | Eizo 24" | cooled w/ H2O
    FILER A6 5400K | 8GB | 120GB EVO Basic | RAID5 w/ 22TB usable | Lian Li PC-Q25
    NBOOK Lenovo ThinkPad W530 | i7-3720QM | Quadro K2000M | 24GB | 500GB OCZ Vector 180 | 15" WUXGA
    CINE Yamaha A-S1000+CD-S1000 | Marantz SR-6003 | Focal Chorus 725+706V, Cobalt SR 800 | Nubert nuLine CS-72+AW-560 | Panasonic TX-P65ST50J
    photosmusicinsta

  • macht sinn...


    Ich sehe schon.. Programmieren kann kreativ sein ^_^


    Danke, ich bin am üben ;)

  • bash scripts sehen immer so komisch aus. Ich hätte es mit VBS gemacht. Aber ja, jedem das seine =)

    Gaming: AMD Ryzen 5 2600X, MSI B450M, 32GB RAM, Sapphire RX6900XT Nitro+ SE, 4TB SSD, 10TB HDD, Win11, Samsung Odyssey G7 32" 1440p@165Hz
    Server: AMD Ryzen 5 3600, Gigabyte B450M4, Quadro P400, 16Gb RAM, 500GB SSD, Plex Encoder

    Storage: Intel i3 3220T, ASRock Z77 Pro4, 4Gb RAM, 111 TB Storage (Seagate Exos), Plex Storage

  • omg! "Freitag" tut mir nicht gut.. :gap Verlängertes Weekend incoming^^


    Irgendwie hab ich immer Batch gelesen/gedacht. Argh!

    Gaming: AMD Ryzen 5 2600X, MSI B450M, 32GB RAM, Sapphire RX6900XT Nitro+ SE, 4TB SSD, 10TB HDD, Win11, Samsung Odyssey G7 32" 1440p@165Hz
    Server: AMD Ryzen 5 3600, Gigabyte B450M4, Quadro P400, 16Gb RAM, 500GB SSD, Plex Encoder

    Storage: Intel i3 3220T, ASRock Z77 Pro4, 4Gb RAM, 111 TB Storage (Seagate Exos), Plex Storage

  • Sali Zäme,


    Danke GP und stim0r0l


    Das Teil ist am drehen (=



    Die meiste Zeit habe ich damit verbraten, das script überhaubt starten zu können -> #!/usr/bin/bash :totlach


    muss definitiv mehr auf linux machen.


    Schönes Wochenende euch allen!
    YAY