copy (cp) fuer Dateien, die NICHT mit d Enden



  • Hallo,

    ich habe folgende Dateien (Linux):

    myLib.so
    myLib.so.30
    myLibd.so
    myTest.so
    myTestd.so
    

    Ich will nun alle Dateien kopieren, die vor dem Punkt KEIN d haben (sprich alle Debug libs ausfiltern).
    In meinem Fall soll also alles kopiert werden ausser testd.so und myLibd.so

    Ich habe schon verschiedene Sachen probiert, z.B.:

    cp my*[!d].* bar

    oder

    cp my*[^d].* bar

    aber nix funktionierte.

    Weiss jemand wie ich das machen kann?



  • find mit -exec oder an xargs pipen.

    PS:
    weils mich interessiert hat:
    find . -iname ".so" -not -iname "*d.so*" -exec cp {} target/ \;



  • Falls es sich um bash handelt und falls extglob aktiviert ist (shopt -s extglob), dann geht auch das hier:

    cp my*([^.])[^d].* target/
    

    Die Syntax ist halt bash-typisch ein bisschen eigen.

    Edit: Referenz.


Anmelden zum Antworten