sotvm
@sotvm
Умный поймёт, а дураку и так всё равно.

Как изменить порядок строк в файле?

Не хочу изобретать велосипед,
может уже кто то решал подобную задачу.
имеем плейлист youtube.m3u8

#EXTM3U
#EXTINF:0,ПАВЛИК 4 сезон 10 серия
https://www.youtube.com/watch?v=z4oMY9Q0HOg
#EXTINF:0,ПАВЛИК 4 сезон 9 серия
https://www.youtube.com/watch?v=Vk_nZ8_V5ko
#EXTINF:0,ПАВЛИК 4 сезон 8 серия
https://www.youtube.com/watch?v=LB5VAm2b4iA
#EXTINF:0,ПАВЛИК 4 сезон 7 серия
https://www.youtube.com/watch?v=kjJMTnU9GCg
#EXTINF:0,ПАВЛИК 4 сезон 6 серия
https://www.youtube.com/watch?v=hGsITAB76_4
#EXTINF:0,ПАВЛИК 4 сезон 5 серия
https://www.youtube.com/watch?v=MCJUj3EgiYk
#EXTINF:0,ПАВЛИК 4 сезон 4 серия
https://www.youtube.com/watch?v=M-VGl5lxyC8
#EXTINF:0,ПАВЛИК 4 сезон 3 серия
https://www.youtube.com/watch?v=cNwUqDbXLiY
#EXTINF:0,ПАВЛИК 4 сезон 2 серия
https://www.youtube.com/watch?v=jHYW6mq7D24
#EXTINF:0,ПАВЛИК 4 сезон 1 серия
https://www.youtube.com/watch?v=RBDiRbE4yoI
#EXTINF:0,ПАВЛИК 4 сезон - Трейлер
https://www.youtube.com/watch?v=pjJfQ7Nw568


в нём нужно поменять порядок видео , 10-5 4 3 2 1 на 1 2 3 4 5-10
представляю такой алгоритм
1)копируем 1-ую строку исходного файла list.m3u8 в new.list.m3u8
удаляем из исходного 1-ую строку.
2)копируем 2-ве последние строки файла list.m3u8 и >> дописываем в new.list.m3u8
удаляем 2-ве последние строки файла list.m3u8
3)повторяем пункт 2) пока в исходном файле есть что копировать
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
fzfx
@fzfx
18,5 дм
perl -i -0ne 's/#EXTM3U\n//g;s/(#EXTINF:.*)\n(http.*)/\2\n\1/g;$_.="#EXTM3U\n";print join("\n",reverse(split("\n")))' ./youtube.m3u8
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..
Если я правильно понял, то Вам поможет команда tac(обратная cat).
tac list.m3u8 > list2.m3u8
spoiler

https://www.youtube.com/watch?v=pjJfQ7Nw568
#EXTINF:0,ПАВЛИК 4 сезон - Трейлер
https://www.youtube.com/watch?v=RBDiRbE4yoI
#EXTINF:0,ПАВЛИК 4 сезон 1 серия
https://www.youtube.com/watch?v=jHYW6mq7D24
#EXTINF:0,ПАВЛИК 4 сезон 2 серия
https://www.youtube.com/watch?v=cNwUqDbXLiY
#EXTINF:0,ПАВЛИК 4 сезон 3 серия
https://www.youtube.com/watch?v=M-VGl5lxyC8
#EXTINF:0,ПАВЛИК 4 сезон 4 серия
https://www.youtube.com/watch?v=MCJUj3EgiYk
#EXTINF:0,ПАВЛИК 4 сезон 5 серия
https://www.youtube.com/watch?v=hGsITAB76_4
#EXTINF:0,ПАВЛИК 4 сезон 6 серия
https://www.youtube.com/watch?v=kjJMTnU9GCg
#EXTINF:0,ПАВЛИК 4 сезон 7 серия
https://www.youtube.com/watch?v=LB5VAm2b4iA
#EXTINF:0,ПАВЛИК 4 сезон 8 серия
https://www.youtube.com/watch?v=Vk_nZ8_V5ko
#EXTINF:0,ПАВЛИК 4 сезон 9 серия
https://www.youtube.com/watch?v=z4oMY9Q0HOg
#EXTINF:0,ПАВЛИК 4 сезон 10 серия
#EXTM3U

Ну нужно немного модифицировать!
Ответ написан
Комментировать
Oxyd
@Oxyd
Linux enthusiast
head -n 1 list.m3u8 > new.list.m3u8 ; tac list.m3u8 | head -n -1 >> new.list.m3u8
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы