Командная строка MV не работает для определенных файлов (OSX) - PullRequest
3 голосов
/ 11 июля 2019

Я загрузил кучу видео и транскриптов YouTube и пытаюсь переименовать их, используя 11-символьный идентификатор YouTube, который является частью заголовка файла.Я создал текстовый файл, в котором у меня в каждой строке старый заголовок, новый заголовок и разделены символом ">"

Я использую следующую команду:

parallel -j 4 --colsep '>' mv "{1}" folder/{2} :::: rename.txt

Это работает только для 90% файлов.10% файлов остались с ошибкой.Я прилагаю ниже некоторые имена файлов, которые не работают.Я подозреваю, что некоторые персонажи не очень дружелюбны, но я застрял.

'Design at Large -  Scaling the Studio and the Lab to the Globe' _ Scott Klemmer _ TEDxUCSD-HcMsp0wVH5Q.en.vtt
'Do yourself a favour  - DONATE BLOOD' _ Meenakshi Lekhi _ TEDxDITE _ Mrs. Meenakshi Lekhi _ TEDxDITE-Sq3x7HYM3UQ.en.vtt
'I am cool with myself'  - Serah. G. at TEDxInhaU-SUZ5hCqws6U.en.vtt
'Play Dead' (Björk),  _ Corisco & Costellas Madera de mar _ TEDxCadizUniversity-OpbzqHN7FOU.en.vtt
'Species on the Move'  _ Chad Jones _ TEDxConnecticutCollege-sqTZ5MXxm4c.en.vtt
'The Art of Being Wrong'  _ Kim Schlesinger _ TEDxWartburgCollege-Kzv-lMv4qRY.en.vtt
'There's a better way to do it.  Find it' _ John Keegan _ TEDxNJIT-Vrw5brX1Wfo.en.vtt
(Please), Don’t let us go extinct  _ Samantha Matheijsen _ TEDxAvansUniversity-QAPId_JNcjw.en.vtt
(Pre)Human 3.0  _ Luc Deleuze _ TEDxUNamur-E7N5__flfkY.en.vtt
12x16 -  The Messy Process of Unlearning _ Dominic Inouye _ TEDxUWMilwaukee-Ql7y19kBojY.en.vtt
2017's Mind-Blowing Drone Innovations  _ Donna Chiu _ TEDxHKUST-T8jg5YS8hZ0.en.vtt
21st Century Education -  The Science of Understanding _ Tom Koch _ TEDxGettysburgCollege-TAOKCxl71g0.en.vtt
3 Most Important Ingredients For making  Perfect Success Recipe _ Bhupendra Rathore _ TEDxBalajiITS-_k65z2WEUqA.en.vtt
3 counter-intuitive ways to achieve anything you want  _ David LAROCHE _ TEDxKedgeBS-aad7N-qJE40.en.vtt
3 reasons why we should share our stories with the world  _ Praveen Wadalkar _ TEDxKhulnaUniversity-YtEa0mirjHo.en.vtt
320 Cakes - The Existential Escapade  _ Natalie Rowland _ TEDxWilliam&Mary-1oEpR3UPLz8.en.vtt
5 Ways to Run a Great Blog  _ Kimberly D'Souza & Denver Britto _ TEDxBITSPilaniDubai-UogiOStY-Ps.en.vtt
63 Days of Superstition  _ Tanushri Sundar _ TEDxBrownU-Lgmu84-Pxv4.en.vtt
8 + 8 + 8  - Time Management  _ Gyanvatsal Swami _ TEDxMSUniversityofBaroda-MmlEQwdqlfo.en.vtt
A  PATHWAY TO HEALTHY SOCIETIES _ Rameshwar Nath Kaul Bamezai _ TEDxJECRC-LoYFgaF0PXM.en.vtt

Не могли бы вы мне помочь?Спасибо!

Ответы [ 2 ]

4 голосов
/ 11 июля 2019
  1. Всегда отмечайте конец опций в командах, работающих с путями или именами файлов, с помощью --, чтобы не допустить интерпретации имен файлов или шаблонов как опций.
  2. Всегда используйте двойные кавычки для строк, содержащих переменные, чтобы предотвратить разделение содержимого переменной на пробел или интерпретацию специальных символов.
parallel -j 4 --colsep '>' mv -- {1} folder/{2} :::: rename.txt
0 голосов
/ 11 июля 2019

Проблема, с которой вы сталкиваетесь, заключается в том, что специальные символы интерпретируются оболочкой (или инструментом Parallels).

Чтобы переместить эти файлы, вам нужно экранировать (добавить обратную косую черту:) в определенные части файла. Вот несколько примеров:

mv \'The\ Art\ of\ Being\ Wrong\'\ \ _\ Kim\ Schlesinger\ _\ TEDxWartburgCollege-Kzv-lMv4qRY.en.vtt folder/

mv Play\ Dead\'\ \(Björk\)\,\ \ _\ Corisco\ \&\ Costellas\ Madera\ de\ mar\ _\ TEDxCadizUniversity-OpbzqHN7FOU.en.vtt folder/

mv 320\ Cakes\ -\ The\ Existential\ Escapade\ \ _\ Natalie\ Rowland\ _\ TEDxWilliam\&Mary-1oEpR3UPLz8.en.vtt folder/

и т.д.

См. Экранирование имен файлов и Объяснение того, что необходимо экранировать для получения дополнительной информации

...