Ich versuche gerade ein Programm zu schreiben, das alle Dateien in einem Verzeichnis auf einem entfernten Raspberry Pi 4b remote aktualisiert. Ich kenne die Namen der Dateien, die im Verzeichnis bleiben müssen, und diese werden sich nie ändern. Ich habe Beispiele gesehen, bei denen ein Befehl wie folgt
mv * !(filetostay) /destination
eine bestimmte Datei überspringt, die bleiben soll, aber gibt es eine Möglichkeit, das auszuführen, wenn es mehrere Dateien gibt, die ich überspringen möchte? Außerdem sind die Dateien nicht alphabetisch oder auf eine andere mir einfallende Weise aufeinander folgend, ich kenne nur die Namen der Dateien.
Ich habe versucht, Folgendes auszuführen:
shopt -s extglob
mv * !(file1|file2) destination
aber dem RPi gefällt die Syntax nicht, wie sie lautet
mv: cannot move 'destination' to a subdirectory of itself, 'destination/destination'
mv: warning: source directory 'destination' specified more than once
mv: cannot stat 'file1': No such file or directory
mv: cannot stat 'file2': No such file or directory
Antwort1
Versuchen
mv !(file1|file2) destination
Das zusätzliche Sternchen bedeutet die Liste aller nicht versteckten Dateien in pwd