Ich erstelle einen Ordner und kopiere etwas aus dem Downloads Ordner. Mein Problem ist, ich wollte Inhalt des Download-Ordners nicht den Ordner selbst verschieben. Also versuche ich es
n=0
while ! mkdir dir$n
do
n=$((n+1))
find /home/linaro/Downloads 1 -type f -exec mv -t /home/linaro/dir$n
done
Der Fehler kommt so
mkdir: cannot create directory ‘dir0’: File exists
find: ‘/home/linaro/Downloads’: No such file or directory
mv: missing file operand
Try "mv --help" for more information.
mkdir: cannot create directory ‘dir1’: File exists
find: ‘/home/linaro/Downloads’: No such file or directory
mv: missing file operand
Try "mv --help" for more information.
mkdir: cannot create directory ‘dir2’: File exists
find: ‘/home/linaro/Downloads’: No such file or directory
mv: failed to access "/home/linaro/dir3": No such file or directory
linaro@tinkerboard:~$
Der Befehl kann den neu erstellten Ordner (mit dem dynamischen Namen dir $ n) nicht erkennen. Ich habe versucht, den vorherigen Ordner zu erreichen. Aber nichts hat funktioniert. Wie man diese bearbeitet?
Antworten:
0 für die Antwort № 1Möchten Sie alle Dateien / Verzeichnisse aus dem Downloads-Verzeichnis kopieren? Wenn dies der Fall ist, verwenden Sie den folgenden Code.
DirName=`date "+%Y-%m-%d-%H:%M:%S"`
mkdir $DirName
mv ~/Downloads/* ~/$DirName
0 für die Antwort № 2
Du bist in der Nähe, aber ich bin mir nicht sicher, was 1
folgt dir /home/linaro/Downloads
. Es scheint, dass Sie tatsächlich wollen:
find /home/linaro/Downloads -type f -exec mv "{}" /home/linaro/dir$n ;
Während Sie legal schreiben können dir$n
, es macht es viel klarer, wenn Sie schreiben wie dir${n}
,
find /home/linaro/Downloads -type f -exec mv "{}" /home/linaro/dir${n} ;
Probieren Sie es aus und lassen Sie es mich wissen, wenn Sie weitere Fragen haben.