首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帮助使脚本适应多个输出

帮助使脚本适应多个输出
EN

Ask Ubuntu用户
提问于 2018-11-05 12:01:17
回答 1查看 144关注 0票数 0

这个脚本将匹配的"Group“体育从我的文件提取到输出emby_sports.m3u。我有所有常见的小组。“新闻”、“一般流”、“电影”。

Is可以将此脚本调整为一次运行“拉出所有组”,并将它们分离为多个文件,还是需要为每个需要拉的组设置一个单独的脚本?

这只牵扯到团体“体育”..。

代码语言:javascript
复制
#!/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格式可以在一条直线上完成?

代码语言:javascript
复制
#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
EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2018-11-05 22:44:58

我不太了解awk,我只使用grep并对组名进行循环,如下所示:

代码语言:javascript
复制
for i in Sports News" Movies "General Streams"
do
  "$i.m3u"
  sed -i '1i #EXTM3U' "$i.m3u"
done

这会将输出保存在简单地按组名调用的文件中,例如Sports.m3uGeneral Streams.m3u

The GNUparallel

与此循环等价的是:

代码语言:javascript
复制
parallel '{}.m3u;sed -i "1i #EXTM3U" {}.m3u' ::: Sports News Movies "General Streams"
票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1090194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档