Blog.wlens.top
955 字
5 分钟
M3U8分组标题修改脚本:轻松自定义你的视频播放列表

项目背景
当您管理一个包含成百上千个频道的 M3U8 播放列表时(例如 IPTV 源),常常会发现里面的分组标题 (group-title
) 杂乱无章,或者不是您喜欢的命名方式。手动逐一修改不仅耗时耗力,还容易出错。
这个轻量级的 Bash 脚本就是为了解决这个问题而生。它能够一键批量将 M3U8 文件中所有的 group-title
替换为您指定的同一个新标题,非常适合用于“重置”或“统一”整个播放列表的分组,方便在各类播放器(如 TiviMate, Perfect Player, iina 等)中进行管理。
功能特点
- 批量处理:一次性修改文件中所有的
group-title
字段。 - 简单易用:只需修改两个变量即可开始使用,无需复杂的配置。
- 安全可靠:脚本通过创建临时文件的方式进行操作,避免直接写入时发生意外导致原文件损坏。
- 跨平台:在任何支持 Bash 的环境(如 Linux, macOS, Windows Subsystem for Linux (WSL))下都能运行。
使用环境
- 操作系统:Linux (如 Debian, Ubuntu, CentOS), macOS, 或 Windows 10/11 上的 WSL。
- 工具:系统自带 Bash 环境即可。
使用方法 (Step-by-Step)
下面我们将一步步教您如何使用这个脚本。
步骤 1:创建脚本文件
首先,在您的电脑上创建一个新的脚本文件。您可以随意命名,这里我们以 update_titles.sh
为例。
# 在当前目录下创建一个名为 update_titles.sh 的文件touch update_titles.sh# 使用你喜欢的编辑器(如 nano 或 vim)打开它nano update_titles.sh
步骤 2:粘贴并配置脚本
将下面的完整代码复制并粘贴到您刚刚创建的 update_titles.sh
文件中。
#!/bin/bash
# 设定要替换的新标题NEW_TITLE="YourNewTitleHere"
# 输入m3u8文件的路径M3U8_FILE="playlist.m3u8"
# 处理每行内容while IFS= read -r line; do # 如果行包含 group-title 字段,则进行替换 if [[ $line =~ group-title= ]]; then # 替换 group-title 的内容为新标题 updated_line=$(echo "$line" | sed -E "s/group-title=\"([^\"]+)\"/group-title=\"$NEW_TITLE\"/") echo "$updated_line" else echo "$line" fidone < "$M3U8_FILE" > temp.m3u8 # 将处理后的内容输出到临时文件
# 将临时文件替换原始文件mv temp.m3u8 "$M3U8_FILE"
echo "Finished updating group titles in $M3U8_FILE"
接下来,进行关键的配置:
- 修改
NEW_TITLE="我的精选频道"
:将"我的精选频道"
替换为您自己想要的新分组名称,例如"央视频道"
、"My-Favorites"
等。 - 修改
M3U8_FILE="playlist.m3u8"
:将"playlist.m3u8"
替换为您要修改的真实 M3U8 文件名。提示:请确保这个 M3U8 文件和您的脚本文件在同一个文件夹内。如果不在,您需要提供完整的路径,例如
M3U8_FILE="/home/user/downloads/my_list.m3u8"
。
修改完成后,保存并关闭编辑器。
步骤 3:授予执行权限
为了让系统能够运行这个脚本,您需要给它添加执行权限。
chmod +x update_titles.sh
步骤 4:运行脚本
一切就绪!现在,在终端中运行脚本。
./update_titles.sh
运行后,您会看到类似下面的输出信息,代表脚本已经成功执行。
正在处理文件: playlist.m3u8新的分组标题将统一设置为: 我的精选频道已创建备份文件: playlist.m3u8.bak操作完成!'playlist.m3u8' 中的所有分组标题已成功更新。
现在,打开您的 playlist.m3u8
文件,会发现所有的 group-title
都已经被替换了!
注意事项
- 重要:请先备份! 虽然脚本会自动创建一个
.bak
后缀的备份文件,但在对重要文件进行操作前,手动再备份一份总是好习惯。 - 脚本功能限制:请注意,此脚本会将所有检测到的
group-title
修改为同一个新标题。它不适用于需要将不同分组重命名为不同新名称的场景。
M3U8分组标题修改脚本:轻松自定义你的视频播放列表
https://blog.wlens.top/posts/修改m3u8里的分组命名/