Gehen Sie folgendermaßen vor, um automatisch zu bestimmen, in welches Verzeichnis Ihre Daten verschoben wurden und ob Sie Bash verwenden : a=( /var/www/vhosts/website/httpdocs/magento/* ); echo "${a[${#a[@]}-1]}". Wenn nicht in Bash, sollte dies funktionieren : printf '%s\n' /var/www/vhosts/website/httpdocs/magento/* | tail -1. Andernfalls befindet es sich sehr wahrscheinlich alphanumerisch im letzten Verzeichnis. Erledigt.
gniourf_gniourf
Antworten:
20
Wenn der alphabetisch letzte Eintrag in diesem Verzeichnis ein Verzeichnis selbst ist, sind sie dort.
Angenommen , Sie die Dateien haben a, bund cund das Verzeichnis d. In diesem Fall,
+1: Schauen Sie unter den Unterverzeichnissen im Verzeichnis / var / www / vhosts / website / httpdocs / magento / * nach. Hinweis: Das Unterverzeichnis befindet sich noch im Magento-Verzeichnis, daher sollte es einfach sein, da sich jetzt fast alles andere darunter befinden sollte. Daher sollte nur noch ein Verzeichnis übrig sein (ohne diejenigen, die mit einem '.' Beginnen). Geben Sie dieses Unterverzeichnis und "mv * .." ein. Dies könnte jedoch Dinge verschieben, die sich zuvor zu Recht unter diesem Verzeichnis befanden, sodass Sie sie zurücklegen müssen. + Jede Datei, die den gleichen Namen wie eine Datei von Magento / * hatte, wurde überschrieben (wenn Ihr "mv" nicht auf "mv -i" ausgerichtet ist)
Olivier Dulac
2
ordentlicher Trick mit mv *: mkdir zzz; mv *der den gesamten Inhalt des aktuellen Verzeichnisses in das Verzeichnis zzz verschiebt. Stellen Sie nur sicher, dass Sie keine Dateien haben, die lexagraphisch nach zzz sortieren.
2
So erweitern Sie die Antwort von glglgl:
Die Befehlszeilen-Platzhaltererweiterung in Unix-ähnlichen Betriebssystemen wird von der Shell ausgeführt. In den meisten Fällen wäre dies unter Linux der Fall bash. In der Manpage wird ausdrücklich angegeben, dass die Platzhaltererweiterung alphabetisch sortiert wird. Gleiches sollte für die meisten Bourne-kompatiblen Shells gelten.
a=( /var/www/vhosts/website/httpdocs/magento/* ); echo "${a[${#a[@]}-1]}"
. Wenn nicht in Bash, sollte dies funktionieren :printf '%s\n' /var/www/vhosts/website/httpdocs/magento/* | tail -1
. Andernfalls befindet es sich sehr wahrscheinlich alphanumerisch im letzten Verzeichnis. Erledigt.Antworten:
Wenn der alphabetisch letzte Eintrag in diesem Verzeichnis ein Verzeichnis selbst ist, sind sie dort.
Angenommen , Sie die Dateien haben
a
,b
undc
und das Verzeichnisd
. In diesem Fall,erweitert sich zu
Das ist ein Befehl, um alles zu verschieben
d
. Schau dort, wenn es etwas gibt.Wenn
d
es kein Verzeichnis wäre,mv
hätte ich mich darüber beschweren sollen.quelle
mv *
:mkdir zzz; mv *
der den gesamten Inhalt des aktuellen Verzeichnisses in das Verzeichnis zzz verschiebt. Stellen Sie nur sicher, dass Sie keine Dateien haben, die lexagraphisch nach zzz sortieren.So erweitern Sie die Antwort von glglgl:
Die Befehlszeilen-Platzhaltererweiterung in Unix-ähnlichen Betriebssystemen wird von der Shell ausgeführt. In den meisten Fällen wäre dies unter Linux der Fall
bash
. In der Manpage wird ausdrücklich angegeben, dass die Platzhaltererweiterung alphabetisch sortiert wird. Gleiches sollte für die meisten Bourne-kompatiblen Shells gelten.quelle