PDA

Visualizza la versione completa : [BASH] Spostare suffisso in prefisso


w0nz3r
20-02-2013, 12:37
Ciao a tutti,

ho una serie di file del tipo

AAA.txt-backup-10:10
BBB.doc-backup-12:10
CCC.xls-backup-14:13

Il suffisso quindi del tipo -backup-??:??

Vorrei spostare il suffisso in prefisso, quindi avere

backup-10:10-AAA.txt
backup-12:29-BBB.doc
backup-14:13-CCC.xls

Come posso fare? Ci ho provato con i find, xargs, basename, ma ci sto perdendo le ore!

Grazie a tutti per l'aiuto!

psykopear
22-02-2013, 23:31
Originariamente inviato da w0nz3r
Ciao a tutti,

ho una serie di file del tipo

AAA.txt-backup-10:10
BBB.doc-backup-12:10
CCC.xls-backup-14:13

Il suffisso quindi del tipo -backup-??:??

Vorrei spostare il suffisso in prefisso, quindi avere

backup-10:10-AAA.txt
backup-12:29-BBB.doc
backup-14:13-CCC.xls

Come posso fare? Ci ho provato con i find, xargs, basename, ma ci sto perdendo le ore!

Grazie a tutti per l'aiuto!

Provato con cut? qualcosa del tipo



┌─[psykopear@archbang]─[~/prova]
└──╼ ls | cut -d"-" -f1,2,3
AAA.txt-backup-10:10
┌─[psykopear@archbang]─[~/prova]
└──╼



a=`ls | cut -d"-" -f1`
b=`ls | cut -d"-" -f2,3`
mv $a-$b $b-$a




┌─[✗]─[psykopear@archbang]─[~/prova]
└──╼ ls
backup-10:10-AAA.txt
┌─[psykopear@archbang]─[~/prova]

MItaly
23-02-2013, 04:23
Usa rename (http://man.he.net/man1/rename) e una regex del tipo


's/(.*)-(backup-.*)/$2-$1/'

Loading