
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.ini
und 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, extglob
aber 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