1

Привет, кто-нибудь может мне помочь? Я пытаюсь убрать начальные цифры из нескольких mp3-файлов, чтобы «01 some_file.mp3» превратился в «some_file.mp3», если бы кто-нибудь мог показать мне, как делать с zmv, что было бы здорово

2 ответа2

1

ZMV выглядит сложным для меня. Вместо этого я использую pyRenamer . Довольно просто даже для начинающих.

0

Такой скрипт может работать:

for f in *; do
    mv "$f" "${f:3}"
done

Это удалит первые 3 символа имени файла (два числа и пробел).

Или как то так:

for f in *; do
    mv "$f" "$(printf "$f" | cut -d' ' -f2-)"
done

Если между номером и остальной частью имени есть пробел. Это напечатает все от пустого места до конца файла.

Обратите внимание, что это будет работать только для фиксированного числа цифр (первый пример) или если между двумя полями есть фактический пробел (второй пример), если случай не применяется ни к одному из упомянутых решений, вы все равно можете рассчитывать на соответствие регулярному выражению:

for f in *; do
    mv "$f" "$(printf "$f" | sed s/[[:digit:]]*\ *//)"
done

Это будет работать для любого количества начальных цифр и / или пробелов. Например:

echo '0001     hellow  aasa 1212.mp3' | sed s/[[:digit:]]*\ *//

Будет печатать

hellow  aasa 1212.mp3

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .