wsad zmień nazwę wielu mp3 usuwając wiodące cyfry


1

Cześć, czy ktoś mógłby mi pomóc? Staram się usuwać wiodące cyfry z wielu plików mp3 „01 some_file.mp3” stałoby się „some_file.mp3”, gdyby ktoś mógł mi pokazać, jak zrobić ze zmv, który byłby świetny


Czy istnieje odpowiednia przestrzeń między cyframi a nazwą pliku?
Nevin Williams

Odpowiedzi:


0

Skrypt taki jak ten może działać:

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

Spowoduje to usunięcie pierwszych 3 znaków nazwy pliku (dwóch liczb i spacji).

Lub coś w tym stylu:

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

Jeśli istnieje rzeczywista pusta przestrzeń między liczbą a resztą nazwy. Spowoduje to wydrukowanie wszystkiego od pustego miejsca do końca pliku.

Zauważ, że będzie to działać tylko dla określonej liczby cyfr (pierwszy przykład) lub jeśli istnieje rzeczywista przestrzeń między nimi pola (drugi przykład), jeśli sprawa nie dotyczy żadnego z wymienionych rozwiązań, nadal możesz liczyć na dopasowanie wyrażenia regularnego:

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

To działałoby dla dowolnej liczby wiodących cyfr i / lub spacji. Na przykład:

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

Drukuje

hellow  aasa 1212.mp3

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.