You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Bash脚本移除PDF文件名中的星期名称?

Bash脚本移除PDF文件名中的星期名称

原始文件名示例:

newspaper20240204-sunday_01.pdf
newspaper20240204-sunday_02.pdf
newspaper20240205-monday_01.pdf
newspaper20240205-monday_02.pdf

目标文件名示例:

newspaper20240204_01.pdf
newspaper20240204_02.pdf
newspaper20240205_01.pdf
newspaper20240205_02.pdf

方法一:通用Bash循环脚本

纯Bash实现,兼容性强,无需额外工具:

#!/bin/bash

# 遍历当前目录下符合命名模式的PDF文件
for file in newspaper*-*.pdf; do
    # 避免匹配不到文件时执行无效命令
    [ -f "$file" ] || continue
    # 通过参数扩展移除"-星期_"部分,替换为"_"
    new_name="${file/-*_/_}"
    # -v参数会显示重命名过程,方便确认
    mv -v "$file" "$new_name"
done

脚本说明

  • ${file/-*_/_} 是Bash参数扩展语法:匹配文件名中第一个-开头到_的内容,直接替换为_,精准去掉-sunday、-monday这类星期标识。
  • 测试阶段可以把mv -v改成echo mv -v,先预览重命名结果,确认无误后再执行实际重命名。

方法二:用rename命令(Linux发行版适用)

Debian/Ubuntu等系统自带Perl版本的rename,一行命令就能批量处理:

rename 's/-[a-z]+_/_/' newspaper*-*.pdf

命令说明

  • 正则表达式-[a-z]+_匹配-开头的小写字母序列(星期名称)加_,替换为单个_,批量完成重命名操作。

注意事项

如果是macOS系统,自带的是BSD版本rename,语法不同,可针对每个星期单独处理:

rename -s "-sunday_" "_" newspaper*-sunday_*.pdf
rename -s "-monday_" "_" newspaper*-monday_*.pdf

内容的提问来源于stack exchange,提问作者PUSTAKAKORAN.COM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 17:55:05