Есть такой скрипт:
#!/bin/sh
#Преобразует плейлисты .m3u в enigma2 userbouquet
cd /tmp ; find -maxdepth 1 -type f -name "*.m3u" | sed 's/^..//' > list
[ ! -s list ] && echo "Нет ни одного файла .m3u в папке /tmp" && exit
while [ -s list ] ; do
m3u=`cat list | head -n1`
name=`echo "$m3u" | sed 's/.m3u//'`
echo "userbouquet.$name.tv"
sed -i "1d" list
sed -i '/^http\|^#EXTINF\|^rtmp/!d' $m3u
sed -i '/^#EXTINF/N;/\n#EXTINF/D' $m3u
sed -i '/^http/N;/\nhttp/D' $m3u
cat $m3u | awk 'NR%2==0 {print $0; print p} {p=$0}' >> file
sed -i '/#EXTINF/!s/:/%3a/g; s/[[:space:]]$\||User-Agent=.*//; N;s/\n#EXTINF.*,/:/; s/ \+/ /g; s/^http\|^rtmp/#SERVICE 4097:0:1:0:0:0:0:0:0:0:&/' file
sed -f /usr/script/reference -i file
echo "Референсы добавлены на каналы в \"userbouquet.$name.tv\""
sed -i "/iptv[12]*.evpanet\|udp\|mpegts/s/SERVICE 4097/SERVICE 1/g; 1s/^/#NAME $name\n/;" file
mv file /etc/enigma2/userbouquet.$name.tv ; rm $m3u
if grep -q "userbouquet.$name.tv" /etc/enigma2/bouquets.tv ; then
echo 'Каналы перезаписаны' ; echo ''
else
echo 'Запись каналов в букеты' ; echo ''
echo "#SERVICE 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET \"userbouquet.$name.tv\" ORDER BY bouquet" >> /etc/enigma2/bouquets.tv
fi
done
echo 'Перезагрузка usrbouquet' ; echo ''
wget -q -O - http://127.0.0.1/web/servicelistreload?mode=2 > /dev/null
exit 0
Нужно убрать из скрипта строки, чтобы это действие не выполнялось.
echo "Референсы добавлены на каналы в \"userbouquet.$name.tv\""
Данные для этой замены скрипт получает из файла; reference
Остальное должно сработать без изменений.