Odpowiedzi:
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