Ho fatto un sacco di organizzazione dei miei file usando i comandi del terminale (principalmente per ulteriore educazione terminale). Ho imparato a rinominare in massa nel terminale, ad es. sostituendo tutti i caratteri di sottolineatura con spazi, modifiche di maiuscole e minuscole, ecc.
Quello che sto cercando di fare ora è inserire un personaggio, o un set di caratteri, in un posto specifico nel nome del file o condizionalmente.
In sostanza sto cercando di aggiungere un trattino "-" tra il numero della traccia e il titolo di un elenco di file audio.
Quindi, dove ho:
"01 First Track.mp3"
"02 Second Song Title.mp3"
"03 Third.mp3"
"04 Fourth and Final One.mp3"
Vorrei sostituire il "" nella terza posizione per essere "-", lasciando:
"01 - First Track.mp3"
"02 - Second Song Title.mp3"
"03 - Third Thing.mp3"
"04 - Fourth and Final One.mp3"
C'è un modo per aggiungere condizionatamente un personaggio? Dì, controlla un numero (qualsiasi cosa tra 0-9) e sostituisci il personaggio subito dopo con un altro personaggio? Logicamente: per i in *; se $ i === "0-9" e + === "" sostituisci + con "-" .... qualcosa del genere?
In alternativa, potrei semplicemente puntare alla terza posizione del nome del file e inserire "-"?
Il problema con la semplice sostituzione di ALL "" con "-" è che questo sostituirà ogni spazio nel nome del file con un trattino.
Forse c'è un modo per considerare solo la prima istanza di "" nel nome del file e ignorare le istanze successive?
Ma mi piacerebbe sapere se c'è un modo per sostituire i caratteri in modo condizionale.
Sono stato google con:
"terminale bulk sostituire carattere condizionale"
"unix file nome file condizionale"
e simili, ma fino ad ora hanno trovato solo rimozione / sostituzione di caratteri o semplice aggiunta (cioè sostituire tutti X con Y o per ogni file, aggiungere un numero sequenziale all'inizio).
Molte grazie.