我觉得我想做的事情很简单,但我是shell脚本的新手,所以我很感激你能给我的任何帮助。
问题:我有一个各种文件类型的文件夹(即“.jpg”,“。psd”,“。png”),需要将这些文件组织到子目录中。每个文件的文件名遵循相同的约定:“number_name.extension”。几个文件共享相同的“数字”值,我希望脚本做的是创建一个具有“数字”值的文件夹(如果它已经不存在)并将具有相同“数字”值的所有文件移动到所述文件夹,无论文件类型/扩展名如何。
我知道Bourne可以做到这一点,但是我无法绕过它。我一直在寻找类似的线程,但似乎没有什么能满足我的问题。非常感谢任何帮助!
答案 0 :(得分:0)
怎么样:
for f in *; do mkdir -p ${f%%_*}; mv $f ${f%%_*}; done
这将保留完整的文件名,但您可能想要修剪数字:
for f in *; do
dir=${f%%_*}
mkdir -p $dir
mv $f $dir/${f#*_}
done