Muster finden und bewegen

Muster finden und bewegen

Ich frage mich, ob jemand weiß, wie man ein Muster findet und es dann an eine andere Stelle verschiebt.

Ich habe beispielsweise viele Dateien mit dem Namen:

odbc.ini_20110630
odbc.ini_20110639
odbc.ini_20110643
etc...

Ich möchte nur nach dem Muster suchen odbc.iniund alle in einen anderen Ordner verschieben.

Ich weiß nicht so recht, wie man zwei Befehle gleichzeitig ausführt (Piping).

Antwort1

Sie können

find . -name "odbc.ini*" -exec mv {} destination \;

Dies setzt voraus, dass sich Ihre Dateien in der Verzeichnishierarchie befinden, beginnend beim aktuellen Verzeichnis ..

Antwort2

wenn sich alle Dateien in einem einzigen Verzeichnis befinden und Sie keine Rekursion benötigen:

shopt -s nullglob
mv odbc.ini* /new/directory/

wenn Sie Rekursion benötigen:

find "${dir:-.}" -type f -name 'odbc.ini*' -exec mv {} /new/directory \;

Ein anderer Ansatz könnte sein mit, extglobaber das überlasse ich dem Leser als Übung =]

Antwort3

Wenn sich alle Dateien im selben Verzeichnis befinden:

mv /path/to/source/odbc.ini* /path/to/destination

Wenn Sie auch Dateien in Unterverzeichnissen verschieben möchten:

shopt -s globstar      # put this line in your ~/.bashrc
mv /path/to/source/**/obdc.ini* /path/to/destination

verwandte Informationen