我正在尝试使用 bash 来实现这一点
我有一个文件目录,获取图片的示例如下:
January 2010 MA - C3 Edexcel.pdf
January 2010 MS - C3 Edexcel.pdf
January 2010 QP - C3 Edexcel.pdf
January 2011 MA - C3 Edexcel.pdf
January 2011 MS - C3 Edexcel.pdf
January 2011 QP - C3 Edexcel.pdf
我正在寻找一个命令,该命令将从每年获取三个文件并将其放入该年的文件夹中,例如,前三个文件应放入名为 2010 的文件夹中,第二组三个文件应放入文件夹名为 2011。
所以我想做的是
mkdir 2010| mv *2010* 2010
对于文件中的每一年
需要明确的是,该文件夹比我展示的要大得多,这意味着逐年进行会花费太多时间
这可能吗?
答案1
这个脚本片段将满足您多年来的要求:
for i in $(seq 2010 2020); do
mkdir -p "$i" &&
mv *"$i"*.pdf "$i"
done
答案2
一个简单的方法来理解它
mkdir 2010 && mv *2010*pdf !$
2011 年也是如此...
这是循环多年文件的解决方案
for i in $(seq 0 9) ; do mkdir 201${i} && mv *201${i}*pdf !$ ; done