Logo 我的知识库

bash

脚本收集#

#!/bin/bash

# 遍历当前目录下的所有 .md 文件
for file in *.md; do
  # 提取文件名中的数字部分
  num=$(echo "$file" | grep -oE '^[0-9]+')

  # 判断是否是 3 的倍数
  if (( num % 3 == 0 )); then
    echo "跳过 3 的倍数文件: $file"
    continue
  fi

  # 根据数字的位数进行补全
  if (( num < 10 )); then
    new_name=$(printf "%03d.md" "$num")
  elif (( num < 100 )); then
    new_name=$(printf "%03d.md" "$num")
  else
    echo "已经是 3 位数,跳过: $file"
    continue
  fi

  # 重命名文件
  if [[ "$file" != "$new_name" ]]; then
    mv "$file" "$new_name"
    echo "重命名: $file -> $new_name"
  fi
done