{bin zu bloed, erledigt} [bash] Executables in bestimmten Verzeichnissen loeschen...

  • Hallo zusammen,


    mein VHDL-Simulator (GHDL) legt mir im Projekt (und ich habe mehrere) immer ein 'ausfuehrbares Programm' fuer die Simulation an. Jetzt moechte ich das per shell alles wieder aufraeumen...
    Folgender Setup:


    /pfad_zu_den_designs/*/*/sim -> hier drunter liegt ein executable (also ohne file-extension)


    Wie kann ich denn mit 'find' genau diese Dateien unter einem jeweiligen ./sim-Verzeichnis finden?
    Sowas wie z.B. 'find /pfad_zu_den_designs -executable' bringt mir nix, und mit -name kann ich ja auch nicht wirklich arbeiten, da die Namen alle unterschiedlich sind. Und die Option '-name sim/' geht ja auch nicht...


    Falls jemand mein Problem versteht und mir weiter helfen kann: Danke schonmal!


    Gruss,
    - berndl


    PS: Unter dem ./sim-Verzeichnis gibt es auch noch ein ./sim/work, das koennte man dann auch gleich komplett loeschen (waere dann meine 2. Frage)


    PPS: Achso, im ./sim-Verz. liegt als Simulationsresultat auch immer eine Datei '*.vcd', die kann ich wunderbar mit

    Code
    find /pfad_zu_den_designs/ -name *.vcd -exec rm {} \;

    loeschen. So moechte ich das auch mit den Executables und dem ./work machen

  • weisst Du, du scheinst nicht nur scripting zu deaktivieren sondern auch noch einen persönlichen unwortfilter einzusetzen. ist es so schwer diese nanoanfrage in ein orakel deines vertauens zu tippen?

  • weisst Du, du scheinst nicht nur scripting zu deaktivieren sondern auch noch einen persönlichen unwortfilter einzusetzen. ist es so schwer diese nanoanfrage in ein orakel deines vertauens zu tippen?


    Nee, ist es natuerlich nicht. Nur scheine ich irgendwie kognitiv beschraenkt zu sein und diese Ergebnisse einfach nicht richtig interpretieren zu koennen. Aber du hast ja recht, ich setze den Thread mal einfach auf [erledigt] und wurschtel mich dann irgendwie weiter durch. Danke!

  • Du lieferst ja auch nicht genug Informationen. Haben deine Executables denn ein bestimmtes Muster? Welche Dateien mit welchen Extensions willst du denn nicht löschen?


    Code
    find /pfad_zu_den_designs/ -executable -type f | grep -v ".*\.pl"

    sollte schon mal die Perl-Dateien ausklammern.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Hallo Gerald,


    danke fuer 'ne Antwort die mich jetzt mal weiter bringt...


    also ein 'ls' in ein solches Subdirectory zeigt z.B. sowas:

    Code
    ls -l /pfad_zu_den_designs/........./sim
    -rwxr-xr-x 1 26154053 Nov 17  2012 tb_top_design
    -rw-r--r-- 1      552 Nov 17  2012 tb_top_design.sav
    drwx------ 2     4096 Nov 17  2012 work


    Das oben erwaehnte .vcd konnte ich mit find schon loeschen. Jetzt geht es um die Datei 'tb_top_design', das ist ein vom Simulator erzeugtes executable. Das zweite Anliegen waere, den Inhalt des Verzeichnisses 'work' zu loeschen, 'work' darf aber meinentwegen weiter da bleiben.


    Geht sicherlich nur mit mehreren shell-cmds, aber um die 2 Dateien/Verzeichnis geht es mit. Da liegen naemlich immer ziemlich grosse Leichen rum...


    [EDIT] Natuerlich heisst das executable nicht immer 'tb_top_design', das kann variieren. Sonst waere es wahrscheinlich auch einfacher...


    [EDIT2] Ich koennte natuerlich in Zukunft auch das Simulator Output-file in ein weiteres Subdirectory, z.B. 'exec/filename' erzeugen lassen. Dann wuerde sich mein Anliegen darauf reduzieren, die irgendwo vergrabenen Subdirectories 'work' und 'exec' zu entleeren... Waere vermutlich einfacher und fuer mich ein guter Kompromiss

  • oh mensch, kaum stellt einer mal eine bloede Frage... :D
    Ich kann meinen Simulator auch anweisen, als Output eine Datei ...../sim/hugo.exe zu erzeugen. Und die kann ich ja unter Linux mit 'find' bedenkenlos loeschen. Dass sich mir bei .exe irgendwie der Magen umdreht lassen wir jetzt einfach mal sein...


    Bleibt dann also zum aufraeumen nur noch das 'work' subdirectory, das halt unter einem Pfad /pfad_zu_den_designs/....../sim da mehrfach vorhanden ist. Also, reduzierte Fragestellung: Irgendwo im Pfad gibt es eine Menge Unterverzeichnisse mit 'sim/work/*' Wie kann ich alle Dateien unter dem 'work' loeschen?


    ...was so 'ne Gegenfrage alles bewirken kann... Danke Gerald!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!