Angenommen, es ist ein Verzeichnis mit vielen Unterverzeichnissen aaa
, bbb
, ccc
... In einem diesen Verzeichnissen ist eine Datei mit dem Namen x.txt
(aber ich weiß nicht, in welchem der Verzeichnisse).bash: (! Und nur ein), eine Datei von einem unbekannten Unterverzeichnis (? Wildcard) bewegt
Ich wollte, dass die Datei in ein anderes Verzeichnis bewegen Sie mit:
mv */x.txt {target_dir}
Allerdings funktioniert das nicht: No such file or directory
Als Lösung Ich landete Schleifen über alle Unterverzeichnisse und prüfen, ob Die Datei ist dort mit [ -f ]
, und Verschieben der Datei einmal gefunden.
Allerdings habe ich mich gefragt, ob es eine einfachere Lösung gibt?
Danke, ich hätte erwähnen sollen, dass es Tausende von Verzeichnissen und Tausende von Dateien gibt. Ich kenne den Namen der Datei 'x.txt' (und es ist ein eindeutiger Name, so dass ich weiß, dass sich diese Datei nur in einem Verzeichnis befindet). Ich werde dies versuchen, um zu sehen, ob Ihre Lösung schneller ist. – econ
@econ: Sie können das '.' durch das Basisverzeichnis ersetzen. – sjsam
Ich denke, es ist gut, sich [hier] (http://superuser.com/questions/341232/faster-alternatives-to-find-and-locate) – sjsam