Verschieben von Verzeichnissen mit find

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Flatbury
Beiträge: 8
Registriert: 01.10.2006 22:17:54

Verschieben von Verzeichnissen mit find

Beitrag von Flatbury » 16.03.2012 11:31:45

Hallo,

ich würde gerne unterschiedliche Verzeichnisse verschieben:

ich versuche es folgendermassen:

Code: Alles auswählen

find /path/from/olddir/ -maxdepth 1 -type d -regex '.*auto.*' -exec mv {} /path/to/newdir/ \;
es verschiebt Verzeichnisse mit Teilergebnis "auto" zu dem newdir....

Nun würde ich aber gerne einen zusätzlichen Regex angeben....also zb. .*fahrrad.*

das geht aber leider nicht mit

Code: Alles auswählen

find /path/from/olddir/ -maxdepth 1 -type d -regex '.*(auto|fahrrad).*' -exec mv {} /path/to/newdir/ \;
Währe super wenn mir jemand helfen könnte :-)

Vielen Dank

uname
Beiträge: 12408
Registriert: 03.06.2008 09:33:02

Re: Verschieben von Verzeichnissen mit find

Beitrag von uname » 16.03.2012 12:17:08

Wohl so:

Code: Alles auswählen

find /path/from/olddir/ -maxdepth 1 -type d -regex '.*\(auto\|fahrrad\).*' -exec mv {} /path/to/newdir/ \;
Liegt wohl daran, dass es "Emacs Regular Expressions" sind. Kann man aber auch ändern.

http://www.emacswiki.org/emacs/RegularExpression

Code: Alles auswählen

       -regex pattern
              File  name  matches regular expression pattern.  This is a match
              on the whole path, not a search.  For example, to match  a  file
              named `./fubar3', you can use the regular expression `.*bar.' or
              `.*b.*3', but not `f.*r3'.  The regular  expressions  understood
              by  find  are by default Emacs Regular Expressions, but this can
              be changed with the -regextype option.

Flatbury
Beiträge: 8
Registriert: 01.10.2006 22:17:54

Re: Verschieben von Verzeichnissen mit find

Beitrag von Flatbury » 16.03.2012 12:50:25

perfekt....vielen Dank :-)

Antworten