Byta namn på en massa filer

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Banana tree
Inlägg: 16
Blev medlem: 13 apr 2008, 13:07
OS: Ubuntu
Utgåva: 10.04 Lucid LTS

Byta namn på en massa filer

Inlägg av Banana tree »

Hej.

Har en mapp som innehåller ett trettiotal mappar och i dem mapparna finns det ljudfiler som jag vill flytta till en gemensam mapp. Det kan jag fixa, men sen vill jag ändra namn på samtliga filer. De alla börjar med två siffror ett mellanslag ett bindestreck och ett mellanslag, det vill jag byta ut mot en sträng. "nn - <namn>.mp3" ska bli "David Bowie - <namn>.mp3". Någon som måhända skulle kunna slänga ihop ett bashscript för mig som inte kan bash så bra? :)
KiviE
Inlägg: 2157
Blev medlem: 25 okt 2007, 14:00
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Luleå

Re: Byta namn på en massa filer

Inlägg av KiviE »

Kod: Markera allt

#!/bin/bash
for fil in *.mp3; do mv "$fil" "${fil/[0-9][0-9]/David Bowie}"; done
Sådär? Du kan ju testa med att byta ut mv till echo för att se om det blir rätt först :)
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Byta namn på en massa filer

Inlägg av Konservburk »

En variant med find som går igenom alla underkataloger...

Kod: Markera allt

#!/bin/bash

find . -iname '[0-9][0-9] - *.mp3' -print0 \
| while read -d '' fil
do mv -- "$fil" ./"David Bowie${fil#*/[0-9][0-9]}"
done
Användarvisningsbild
Cadryc
Inlägg: 3133
Blev medlem: 07 aug 2007, 18:05
OS: Ubuntu
Utgåva: 20.04 Focal Fossa LTS
Ort: Arvika

Re: Byta namn på en massa filer

Inlägg av Cadryc »

Definitivt script att spara :) , även om jag inte fattar så mycket av dom. Ser att trådskaparen efterfrågade script, men om nån annan kollar tråden och föredrar nånting mindre avancerat och med gui så finns pyRenamer och prefixsuffix i lägg till/ta bort, med de har jag med lite kreativt användande lyckats ändra en hel del, ganska smidigt ändå.
Skriv in din hårdvara här så kan andra se hur bra den funkar med Ubuntu.

Har du tid över så ta en titt här
Skriv svar

Återgå till "Terminalforum"