编辑 bash 脚本以在创建文件夹时截断文件上的前导数字

编辑 bash 脚本以在创建文件夹时截断文件上的前导数字
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

这基本上就是我想要的,另外还有重命名文件和删除案例编号前缀的好处。

相关内容