移动一系列编号的文件?

Rob*_*Rob 15 linux bash mv

我有 291 个编号的文件(从 001 - 标题开始,以 291 - 标题结束)需要移动到单独的目录中。(001 到 021 到文件夹 1,022 到 053 到文件夹 2,它们每次的文件数不一定相同)。

我想我可以像这样以一种令人讨厌的方式做到这一点: ls | head -n 21 | sed -r 's|(.*)|mv \1 /path/to/folder1|' | sh

我几乎肯定有更好的方法,那会是什么?

编辑:这样就可以了,但我记得......

我没有使用终端卡住,所以我使用了文件管理器来单击和拖动。问题仍然存在。

drr*_*lvn 27

既然您说手动移动文件并不总是正好是 21 个文件,那么为了有效地做到这一点,您可以使用大括号扩展

mv filename{001..21} dir1
mv filename{022..53} dir2
...
Run Code Online (Sandbox Code Playgroud)

  • 如果数字在名字中间,你可以写`file{001..21}name`,你不必使用通配符。无论如何,很高兴它对你有用。 (2认同)