Am Montag 10 Mai 2010 08:18:49 schrieb Christian Brabandt:
Hi Al!
On So, 09 Mai 2010, Al Bogner wrote:
Es geht darum, dass Dateien in ein neues Verzeichnis kopiert werden sollen, wenn der Ordner eine bestimmte Zeichenkette enthält und der Dateiname zwischen Anfang und dem ersten "-" einen Punkt enthält und die Endung txt ist.
Beispiel:
/dir1/dir2/dir3/abcdef/dir5/1.2-irgendwas.txt /dir1/dir2//abcd/dir4/03.11nochwas.txt /dir1/dir2/dir3/abcdef/dir5/1-irgendwasanderes.txt
Demnach sollen also die ersten beiden Dateien gefunden werden, wenn nach einem "Directory-Inhalt" mit bc gesucht wird, der 3. darf nicht gefunden werden, da da vor dem "-" kein Punkt ist.
find . -path '*bc*' -iregex '.*/[^./-]*\.[^/-]*-.[^/]*\.txt$'
Die gefundenen Dateien sollen in einen Ordner kopiert werden. Kann man das mit einer Regex finden oder muss man wegen der getrennten Suche von Dateien und Ordnern dies in 2 Schritten machen?
-exec cp -t /target {} +
Es geht um das Durchsuchen von geschätzten 50000 Dateien.
könnte ein Weiclhen dauern.
Kürzlich musste ich nach bestimmten Ordnern auf 2 Rechnern suchen. Das hat mit find via NFS über 6h gedauert. Irgendwie gingen Ordner beim Kopieren auf eine neue HD verloren, keine Ahnung wie so was passieren kann. Eine Logik war nicht feststellbar. Ich denke es würde schneller gehen, wenn man die komplette Dateistruktur in ein Textfile schreibt und dann dieses File analysiert. Ich werde am Nachmittag mit den Syntax-Beispielen testen. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org