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

CentOS7下批量重命名文件:替换文件名第3个下划线为冒号

批量重命名:仅替换文件名中第3个下划线

核心思路

要解决你的问题,关键是只修改文件名部分的下划线,不能碰路径里的字符,同时精准定位到第3个下划线做替换,而非全局替换。

可行脚本实现

方法1:用sed快速实现(最简洁)

直接切换到目标目录执行,或者在脚本里指定路径:

# 先进入目标目录
cd /home/application/Upload_Actions/TestFiles/
# 遍历目标文件,只替换第3个下划线
for f in *statsfile*.csv; do
    new_filename=$(echo "$f" | sed 's/_/:/3')
    mv "$f" "$new_filename"
done

解释:sed 's/_/:/3' 是核心,它会精准匹配并替换字符串里的第3个下划线为冒号,完全符合你的需求。

方法2:不切换目录的版本

如果不想切换当前工作路径,可以拆分路径和文件名单独处理:

for f in /home/application/Upload_Actions/TestFiles/*statsfile*.csv; do
    # 拆分出文件所在目录和文件名
    file_dir=$(dirname "$f")
    old_name=$(basename "$f")
    # 替换文件名的第3个下划线
    new_name=$(echo "$old_name" | sed 's/_/:/3')
    # 拼接路径完成重命名
    mv "$f" "$file_dir/$new_name"
done

验证小技巧

执行重命名前,可以先把mv命令换成echo "$f" -> "$new_name",先预览所有文件的重命名结果,确认无误后再执行实际的移动操作,避免误改。

内容的提问来源于stack exchange,提问作者Paul C.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 06:35:16