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.