Skript Komprimieren/Verbesserung

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Kazuya, 20.04.2009.

  1. #1 Kazuya, 20.04.2009
    Zuletzt bearbeitet: 18.02.2011
    Kazuya

    Kazuya Grünschnabel

    Dabei seit:
    20.04.2009
    Beiträge:
    1
    Zustimmungen:
    0
    Hat sich mittlerweile erledigt :)
     
  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. juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    992
    Zustimmungen:
    0
    Ort:
    Berlin
    also den check von 1 - 999 kannst du auf jeden Fall schonmal inkrementierend lösend: von 1 - 19 und 99 und 999 (seperat).


    Ciao
     
  4. #3 bytepool, 20.04.2009
    Zuletzt bearbeitet: 20.04.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    das ist ja ein Chaos... ;)

    Was juan_ sicher meinte ist folgendes:
    Code:
    for i in {1..19} 99 999; do
       eval "cd ~/lohn/data_$i"
       rcheck &
    done
    
    Ich wuerde immer den absoluten und nicht den relativen Pfad angeben. Ausserdem wuerde ich ueberpruefen, ob das Programm rcheck nicht auch ein Verzeichnis als Parameter uebernehmen kann, dann spart man sich das ganze Verzeichniswechseln.

    Ach ja, den Sinn der vielen Einrueckungen sehe ich auch nicht, das ist unlogisch, es sind ja keine Unterverzeichnisse.

    Auch der Check ob das Programm noch laeuft, laesst sich sicher eleganter Regeln, als 2 Mal einfach lange zu warten.

    Letztendlich wuerde ich auch bei den letzten paar find Befehlen den absoluten und nicht den relativen Pfad angeben. Du fuehrst da find naemlich nur in dem Verzeichnis aus, in das du als letztes gewechselt hast, was soweit ich das sehe ~/main/data_9 ist. Das ist wahrscheinlich nicht was du willst.

    Edit: Ausserdem werden die letzten find Befehle wahrscheinlich auch nicht funktionieren, weil das abschliessende Semikolon nicht escaped wird. So sollte das aussehen:
    Code:
    find ~ -name AS0* -exec rm {} ';'
    
    mfg,
    bytepool
     
  5. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.053
    Zustimmungen:
    8
    ich würde auch für die UVZ find einsetzen...
     
  6. #5 seim, 20.04.2009
    Zuletzt bearbeitet: 20.04.2009
    seim

    seim seim oder nicht seim?

    Dabei seit:
    08.09.2006
    Beiträge:
    909
    Zustimmungen:
    0
    Ort:
    /mnt/reallife
    Was macht deine for Schleife wenn der Ordner nicht vorhanden ist? Evtl. existiert nicht für jede Zahl der entsprechende Ordner.

    Also das Ding hier findet alle Ordner rekursiv von home (~) aus, das Problem ist nur jetzt in jeden Ordner reinzuwechseln und dort den Befehl zu starten.

    Code:
    find ~ -name data_[0-9]* -type d
    Es werden dabei alle Ordner erkannt die unmittelbar nach dem _ eine Zahl haben, also alle anderen werden nicht erfasst. Was dabei jetzt nicht erfolgt ist die Abfrage ob nach der ersten Ziffer nicht doch noch ein Buchstabe auftaucht (evtl. ist das eh nicht der Fall).

    Code:
    server:~# find ~ -name data_[0-9]* -type d
    /root/test/data_001
    server:~#
    
    Naja für das starten hab ich n Vorschlag und doch keine Ahnung..

    Code:
    server:~# find ~ -name data_[0-9]* -type d > filelist
    server:~#
    
    danach (Achtung pseudo Code):
    Code:
    with filelist do
    for i = 1 to linecount - 1 do
    cd line[i]
    rcheck &
    end
    
     
  7. #6 bytepool, 20.04.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    Es wird eine Fehlermeldung ausgegeben, was sonst?

    Na, wenn die Fehlermeldung stoert, leitet man sie nach /dev/null, oder man checkt vorher ob das Verzeichnis existiert, wo ist das Problem? Zumal die Aufgabenstellung sowieso darauf schliessen laesst, dass die Ordner immer existieren. Das sieht stark nach einer Datenbank oder etwas aehnlichem mit einer festen Struktur aus.

    Noe, ist kein Problem, find bringt da das noetige Ruestzeug fuer mit. Siehe 'man find'. Das echte Problem ist, dass du damit uebers Ziel hinausschiesst, und ohne Ende Ordner mit einbeziehst, die eventuell ueberhaupt nicht ueberprueft werden sollen.

    Zu der Idee, die Ausgabe von find erst in eine Datei umzuleiten, und dann die Datei weiter zu verarbeiten, spare ich mir mal jegliches Kommentar. ;)

    mfg,
    bytepool
     
  8. seim

    seim seim oder nicht seim?

    Dabei seit:
    08.09.2006
    Beiträge:
    909
    Zustimmungen:
    0
    Ort:
    /mnt/reallife
    sag mir mal wie das mit find gehen soll..

    Code:
    find . -name data_[0-9]* -type d -exec ??? \;
     
  9. Anzeige

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

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.053
    Zustimmungen:
    8
    kombiniere doch einfach find mit einer for-Schleife...
     
  11. #9 bytepool, 20.04.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,
    zugegeben, ich dachte an -execdir, was etwas doof zu benutzen ist, wenn man eigentlich in das Verzeichnis wechseln will, das man sucht. Man landet dann prinzipiell ein Verzeichnis zu hoch. Aber auch das laesst sich auf verschiedene Arten umschiffen...

    Doch das ist ja das bekannte Lied: Alles was mit Shell Skripten zu tun hat, kann man auf zig verschiedene Arten loesen.

    mfg,
    bytepool
     
Thema:

Skript Komprimieren/Verbesserung

Die Seite wird geladen...

Skript Komprimieren/Verbesserung - Ähnliche Themen

  1. Kontextmenü mit einem Skript verbinden

    Kontextmenü mit einem Skript verbinden: Abend, wenn ich z. B. eine simple Umwandlung eines Bildformates in ein anderes über das KDE-Kontextmenü (Servicemenü nennt es sich im KDE oder...
  2. [Erledigt] Shell-Skript lässt sich nicht mit Cron ausführen

    [Erledigt] Shell-Skript lässt sich nicht mit Cron ausführen: Hallo, ich hoffe ihr könnt mir helfen. Ich entwerfe im Moment ein Skript, welches den Callmonitor (Telnet) auf meiner FritzBox abfragt und wenn...
  3. Kunden-Skript ausgelöst durch Linux-Cluster Pacemaker

    Kunden-Skript ausgelöst durch Linux-Cluster Pacemaker: Hallo! Ich komme aus der AIX-Welt wo es im HACMP-Cluster die Möglichkeit der Ausführung eines Start- bzw. Stop-Skriptes im Zuge einer...
  4. Shell-Skript Datum in einer Datai suchen

    Shell-Skript Datum in einer Datai suchen: Hallo zusammen Ich komm eigentlich aus der Klicki-Bunti-Welt von Windows. Seit geraumer Zeit versuche ich meine Künste mit verschiedenen...
  5. Nmap 7.10 mit zahlreichen neuen Skripten und Fingerabdrücken

    Nmap 7.10 mit zahlreichen neuen Skripten und Fingerabdrücken: Der Nmap-Entwickler Gordon »Fyodor« Lyon hat bekannt gegeben, dass eine neue Version des populären, freien Netzwerkscanners veröffentlicht wurde....