Я пытаюсь изменить путь во многих файлах m3u. Я знаю, что могу сделать это с помощью regexxer f.e. но я пытаюсь изучить bash.
Это команда, которую я выяснил, но она не работает.
grep -lr -i -e 'M:\\' * | xargs -0 sed -i 's/M:\\/T:\\/g'
Я подозреваю, но только подозревают, это связано с особыми символами в именах файлов. Как с этим бороться?
Окончательно я нашел ответ:
grep -lr -i -Z -e 'm:\\' * | xargs -0 sed -i 's/M:\\/K:\\/g'
Мне пришлось добавить -Z, чтобы следить за чтением каждого имени файла, а не всей связью в одной длинной строке.
Это сделало трюк:
, чтобы изменить путь к файлу M:\ к точке монтирования в Ubuntu media/MODERNE MUZIEK
find -iname '*.m3u' -print0 |
xargs -0 sed -i 's/M:\\//\/media\/MODERNE\ MUZIEK\//g'
, чтобы изменить обратную косую черту для пересылки slashes
find -iname '*.m3u' -print0 | xargs -0 sed -i 's/\\/\//g'
Теперь я могу открыть свои ex-windows m3u-файлы с помощью VLC-плеера в Ubuntu. Он играет независимо от того, сколько пробелов или странных символов находится в имени файла.
Возможно ли это улучшить? это можно сделать с помощью grep, чтобы сделать его условным, как в моей первой неудачной попытке? Почему grep не работает?
Спасибо за ввод.
Окончательно я нашел ответ:
grep -lr -i -Z -e 'm:\\' * | xargs -0 sed -i 's/M:\\/K:\\/g'
Мне пришлось добавить -Z, чтобы следить за чтением каждого имени файла, а не всей связью в одной длинной строке.
Это сделало трюк:
, чтобы изменить путь к файлу M:\ к точке монтирования в Ubuntu media/MODERNE MUZIEK
find -iname '*.m3u' -print0 |
xargs -0 sed -i 's/M:\\//\/media\/MODERNE\ MUZIEK\//g'
, чтобы изменить обратную косую черту для пересылки slashes
find -iname '*.m3u' -print0 | xargs -0 sed -i 's/\\/\//g'
Теперь я могу открыть свои ex-windows m3u-файлы с помощью VLC-плеера в Ubuntu. Он играет независимо от того, сколько пробелов или странных символов находится в имени файла.
Возможно ли это улучшить? это можно сделать с помощью grep, чтобы сделать его условным, как в моей первой неудачной попытке? Почему grep не работает?
Спасибо за ввод.
Окончательно я нашел ответ:
grep -lr -i -Z -e 'm:\\' * | xargs -0 sed -i 's/M:\\/K:\\/g'
Мне пришлось добавить -Z, чтобы следить за чтением каждого имени файла, а не всей связью в одной длинной строке.
Это сделало трюк:
, чтобы изменить путь к файлу M:\ к точке монтирования в Ubuntu media/MODERNE MUZIEK
find -iname '*.m3u' -print0 |
xargs -0 sed -i 's/M:\\//\/media\/MODERNE\ MUZIEK\//g'
, чтобы изменить обратную косую черту для пересылки slashes
find -iname '*.m3u' -print0 | xargs -0 sed -i 's/\\/\//g'
Теперь я могу открыть свои ex-windows m3u-файлы с помощью VLC-плеера в Ubuntu. Он играет независимо от того, сколько пробелов или странных символов находится в имени файла.
Возможно ли это улучшить? это можно сделать с помощью grep, чтобы сделать его условным, как в моей первой неудачной попытке? Почему grep не работает?
Спасибо за ввод.
Окончательно я нашел ответ:
grep -lr -i -Z -e 'm:\\' * | xargs -0 sed -i 's/M:\\/K:\\/g'
Мне пришлось добавить -Z, чтобы следить за чтением каждого имени файла, а не всей связью в одной длинной строке.
Это сделало трюк:
, чтобы изменить путь к файлу M:\ к точке монтирования в Ubuntu media/MODERNE MUZIEK
find -iname '*.m3u' -print0 |
xargs -0 sed -i 's/M:\\//\/media\/MODERNE\ MUZIEK\//g'
, чтобы изменить обратную косую черту для пересылки slashes
find -iname '*.m3u' -print0 | xargs -0 sed -i 's/\\/\//g'
Теперь я могу открыть свои ex-windows m3u-файлы с помощью VLC-плеера в Ubuntu. Он играет независимо от того, сколько пробелов или странных символов находится в имени файла.
Возможно ли это улучшить? это можно сделать с помощью grep, чтобы сделать его условным, как в моей первой неудачной попытке? Почему grep не работает?
Спасибо за ввод.
Окончательно я нашел ответ:
grep -lr -i -Z -e 'm:\\' * | xargs -0 sed -i 's/M:\\/K:\\/g'
Мне пришлось добавить -Z, чтобы следить за чтением каждого имени файла, а не всей связью в одной длинной строке.
Это сделало трюк:
, чтобы изменить путь к файлу M:\ к точке монтирования в Ubuntu media/MODERNE MUZIEK
find -iname '*.m3u' -print0 |
xargs -0 sed -i 's/M:\\//\/media\/MODERNE\ MUZIEK\//g'
, чтобы изменить обратную косую черту для пересылки slashes
find -iname '*.m3u' -print0 | xargs -0 sed -i 's/\\/\//g'
Теперь я могу открыть свои ex-windows m3u-файлы с помощью VLC-плеера в Ubuntu. Он играет независимо от того, сколько пробелов или странных символов находится в имени файла.
Возможно ли это улучшить? это можно сделать с помощью grep, чтобы сделать его условным, как в моей первой неудачной попытке? Почему grep не работает?
Спасибо за ввод.