这个脚本将匹配的"Group“体育从我的文件提取到输出emby_sports.m3u。我有所有常见的小组。“新闻”、“一般流”、“电影”。
Is可以将此脚本调整为一次运行“拉出所有组”,并将它们分离为多个文件,还是需要为每个需要拉的组设置一个单独的脚本?
这只牵扯到团体“体育”..。
#!/bin/sh
while read -r LINE || [ -n "$LINE" ]; do
awk '/group-title="Sports"/{nr[NR]; nr[NR+1]}; NR in nr'
sed -i '1i #EXTM3U' emby_iptv_tmp.m3u
done < iptv_download.m3u
mv emby_iptv_tmp.m3u emby_sports.m3u
rm iptv_download.m3u下面是包含"Sports“的所有行所需输出的示例。我想要这个输出所有的组,“一般流”,“孩子”,“新闻”在一次运行。
我只是一次又一次地重复awk语句和输出,就像我对多个脚本所做的那样,还是有一些awk格式可以在一条直线上完成?
#EXTM3U
#EXTINF:-1 tvg-ID="" tvg-name="AU: Fox NRL League HD" tvg-logo="" group-title="Sports",AU: Fox NRL League HD
http://**************@gmail.com/**************/53441.m3u8
#EXTINF:-1 tvg-ID="Golf Channel CA" tvg-name="CA: Golf Channel UHD" tvg-logo="" group-title="Sports",CA: Golf Channel UHD
http://**************@gmail.com/**************/45062.m3u8
#EXTINF:-1 tvg-ID="Golf Channel CA" tvg-name="CA: Golf Channel" tvg-logo="" group-title="Sports",CA: Golf Channel
http://**************@gmail.com/**************/45369.m3u8
#EXTINF:-1 tvg-ID="HPItv" tvg-name="CA: HPItv (HORSE RACING)" tvg-logo="" group-title="Sports",CA: HPItv (HORSE RACING)
http://**************@gmail.com/**************/55732.m3u8发布于 2018-11-05 22:44:58
我不太了解awk,我只使用grep并对组名进行循环,如下所示:
for i in Sports News" Movies "General Streams"
do
"$i.m3u"
sed -i '1i #EXTM3U' "$i.m3u"
done这会将输出保存在简单地按组名调用的文件中,例如Sports.m3u和General Streams.m3u。
The GNUparallel
与此循环等价的是:
parallel '{}.m3u;sed -i "1i #EXTM3U" {}.m3u' ::: Sports News Movies "General Streams"https://askubuntu.com/questions/1090194
复制相似问题