for file in *; do
if [[ -f "$file" ]]; then
mkdir "${file%.*}"
mv "$file" "${file%.*}"
fi
done
因此,我将有大量文件看起来像“012345_randomnameoffile.pdf”,我想编辑此脚本以创建一个仅包含数字的文件夹名称,并在创建后将文件移动到该文件夹中,但如果该文件夹已存在,则只需将文件移动到该文件夹中。任何帮助都将不胜感激。
答案1
找到了
for file in *; do mkdir -p -- "${file%%_*}" && \
mv -- "${file}" "${file%%_*}/${file#*_}"; done
这基本上就是我想要的,另外还有重命名文件和删除案例编号前缀的好处。