2017-12-09 1 views
0

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. So versuche ich, diesen

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 wird wie die kommenden

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 
[email protected]:~$ 

Eigentlich ist Befehl nicht in der Lage neu erstellten Ordner zu erkennen (mit dynamischen Namen dir $ n). Ich habe versucht, den vorherigen Ordner zu erreichen. Aber nichts hat funktioniert. Wie man diese bearbeitet?

Antwort

0

Möchten Sie alle Dateien/Verzeichnisse aus dem Downloads-Verzeichnis kopieren? Wenn das der Fall, dass Sie unter Code verwenden,

DirName=`date "+%Y-%m-%d-%H:%M:%S"` 
mkdir $DirName 
mv ~/Downloads/* ~/$DirName 
0

Sie nah sind, aber ich bin nicht sicher, was die 1 Ihre /home/linaro/Downloads folgt. Es scheint, Sie eigentlich wollen:

find /home/linaro/Downloads -type f -exec mv '{}' /home/linaro/dir$n \; 

Während Sie rechtlich dir$n schreiben kann, es macht es viel klarer, wenn Sie schreiben, ist als dir${n},

find /home/linaro/Downloads -type f -exec mv '{}' /home/linaro/dir${n} \; 

Probieren Sie es und lassen Sie mich wissen, wenn Sie irgendwelche zusätzlichen Fragen.

Verwandte Themen