Повторно создайте youtube-dl downloaded.txt

Я использовал файлы youtube m4a загрузки youtube-dl

youtube-dl --download-archive downloaded.txt --match-filter 'duration > 1200' -cit -f 140 'httplink'

но у меня был accidentialy, удалил downloaded.txt. Я пытаюсь повторно создать файл downloaded.txt с

for n in *.m4a
do 
    if [[ "$n" =~ -[-_0-9a-zA-Z]{11}.m4a$ ]]
       then echo "youtube ${n: -15: 11}" >> downloaded.txt
    fi
done

но это не работает начиная со многих имя файла долго и с символами неASCII, например, символами CJK, ▶, символами эмодзи. Какое-либо хорошее предложение для фиксации его?спасибо.

1
задан 28 October 2018 в 08:38

2 ответа

Konichiwa в США Я не думаю, что мы свободны для DL YouTube видео. Я хотел бы, чтобы был список воспроизведения YouTube для автоматической службы iso или сценария.

для длинного имени файла попробуйте tr -d [set1] [set2] удалить ненужные символы или tr -t [set1] [set2] усеченную

7. Remove all non-printable character from a file
The following command can be used to remove all non-printable characters from a file.
$ tr -cd [:print:] < file.txt

над строкой, взятой из https://www.thegeekstuff.com/2012/ 12 / linux-tr-command /

Я не уверен насчет этой строки, и, возможно, вы можете заменить часть youoldList на cat yourFile или echo "foobar"

then tr -cd [:print:] < youroldList.txt > downloaded.txt

sed is команда потокового редактора делает man sed, чтобы узнать об этом, команда -e позволяет запускать сценарии sed, которые форматируются как "s_replaceThis_withThis_; s / .m4a. * /. / \"

подчеркивания и /// \ part можно записать так же, как вместо «s ///»

ОШИБКИ СКРИПТА

Также в вашем скрипте есть ошибка с «>>» вместо «> 'и $ n, если он оценивается как $ (false) или $ (0), он перезапустит ba $ h и введет ваш поток данных. [возможно, утечка памяти?] Может быть, это происходит в $ {n: -15: 11}

Вы получаете сообщение об ошибке типа $ (0)?

0
ответ дан 7 December 2019 в 22:45

Если все файлы находятся в одном каталоге, вы можете просто выбрать их все в окне Nautilus с помощью CTRL + A , скопировать имена файлов (включая пути) с помощью CTRL + C затем откройте текстовый редактор и вставьте путь + все имена файлов в текстовый файл с помощью CTRL + V .

Если вам не нужна информация о пути перед именами файлов в каждой строке, используйте «Поиск> Найти и заменить ...», чтобы удалить ее. Используйте символы пути в качестве условия поиска и оставьте поле замены пустым.

0
ответ дан 7 December 2019 в 22:45

Другие вопросы по тегам:

Похожие вопросы: