0

我觉得我想做的事情很简单,但我是 shell 脚本的新手,所以我很感激你能给我的任何帮助。

问题:我有一个包含各种文件类型(即“.jpg”、“.psd”、“.png”)文件的文件夹,需要将这些文件组织到子目录中。每个文件的文件名遵循相同的约定:“number_name.extension”。几个文件共享相同的“数字”值,我希望脚本做的是创建一个具有“数字”值的文件夹(如果它不存在)并将所有具有相同“数字”值的文件移动到所说的文件夹,无论文件类型/扩展名如何。

我知道 Bourne 可以做到这一点,但我很难理解它。我四处寻找类似的线程,但似乎没有什么能满足我的问题中的所有条件。任何帮助将不胜感激!

4

1 回答 1

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
于 2013-03-19T17:00:14.403 回答