Bash 以增量方式创建目录,将文件移动到目录循环中

Bash 以增量方式创建目录,将文件移动到目录循环中,bash,Bash,我正在尝试创建一个脚本,该脚本将在文件列表中运行,并为每个文件创建一个增量目录,然后将该文件移动到新目录中。我一直在努力让文件移动 n=1 for file in /Users/scrawfo/Desktop/untitled\ folder/*.zip; do mkdir /Users/scrawfo/Desktop/untitled\ folder/test/$((n++)) sleep 5s mv $file /Users/scrawfo/Desktop/u

我正在尝试创建一个脚本,该脚本将在文件列表中运行,并为每个文件创建一个增量目录,然后将该文件移动到新目录中。我一直在努力让文件移动

n=1

for file in /Users/scrawfo/Desktop/untitled\ folder/*.zip; do   
    mkdir /Users/scrawfo/Desktop/untitled\ folder/test/$((n++))
    sleep 5s
    mv $file /Users/scrawfo/Desktop/untitled\ folder/test/"$((n++))" 
done

看起来您正在两次递增
$n
,因此当您移动文件时,目录不存在。我想你想要:

n=1

for file in /Users/scrawfo/Desktop/untitled\ folder/*.zip; do
    mkdir /Users/scrawfo/Desktop/untitled\ folder/test/$n
    sleep 5s
    mv $file /Users/scrawfo/Desktop/untitled\ folder/test/$n
    # Edited per Etan's comment, much less confusing this way
    $((n++))
done

正确的想法错误的解决方案
$((n++)
返回
n
的旧值,然后将其递增,这样目录仍然错误。在第一行中使用
$(++n))
,在第二行中使用增量,或者在两行之前或之后使用增量。仍然会收到错误
用法:mv[-f |-i |-n][v]源目标mv[-f |-i |-n][v]源。。。目录
我喜欢结尾处的递增,因为它更清楚地显示了您要做的事情。现在可以工作了。谢谢各位!我会在4分钟内给检查,当网站允许我