come usare linux rename


1

sono imbarazzato che devo anche chiedere ma ho una directory con i file m4a che hanno il numero della traccia dal cd aggiunto all'inizio del nome del file, come questo:

1-01 Smash.m4a

come posso rimuovere "1-01" usando la rinomina? o qualsiasi altro comando linux per quella materia. Se fa la differenza, sono su fedora-13.

EDIT (punti bonus se puoi spiegare perché questo non funziona) solo come test, ho provato questo:

rename 1-0?? SSS *.m4a

senza alcuna modifica apportata a nessuno dei nomi di file nella directory

Risposte:


4

Dare un vortice (nella directory con i file che si desidera rinominare): -

for i in *; do mv -v "$i" "$(echo "$i" | cut -f2- -d ' ')"; done

beh, non so cosa sia (perl?) ma ha funzionato su tutti tranne un nome di file. per essere onesti, è il caso speciale nella directory: 1-04 Bass Suite # 1.m4a ... il problema è che non sono ancora più informato sulla rinomina. Non è fattibile con il rinominare?
Ramy

È solo shell ... quindi dovresti essere in grado di farlo direttamente dalla riga di comando. Immagino sia fattibile con il rinominare, ma non l'ho usato molto da solo.
Andy Smith

rename 's/^\d+-\d+\s//g' *.m4a dovrebbe fare il trucco, però!
Andy Smith

3
@Ramy, @Andy: su Debian, rename è effettivamente prename, uno script Perl che utilizza regex. Su altri sistemi, rename è un'utilità molto più semplice (da util-linux-ng, IIRC) che accetta solo stringhe "da" e "a" fisse.
grawity

3
@ Michael: la creazione del processo costa molto di più su WinNT di quanto non faccia per la maggior parte dei SO tipo Unix. (Questo è il motivo per cui i thread sono più comuni su Windows di fork() è.)
grawity
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.