我的目录中有一些文件,名为00001.npy
,,00002.npy
...,,00150.npy
等等。文件名按升序排列。
我想将所有名称介于00008.npy
到之间的文件移动00180.npy
到另一个目录。
我该怎么做?
答案1
在 bash 中你可以使用括号扩展:
mv {00008..180}.npy /destination/
答案2
在 zsh 中,你可以使用以下形式的 shell glob<mn>匹配文件名的数字范围:
mv -nt path/to/destination/ -- <8-180>.npy
与括号扩展相比,这有几个优点,特别是它
如果括号扩展中的文件不存在,则不会出现
{00008..180}
错误即使文件名没有用零填充到相同的长度也可以工作。