Jeg er i gang med et stort (læs: tidkrævende) projekt. Jeg skal forsøge at beskrive det kort og præcist.
I et mappehierarki med 387 mapper er der i hver mappe en undermappe der hedder "Soundfiles" og i denne en undermappe der hedder "Soundbites". Her ligger et varierende antal mp3-filer af et minuts varighed.
Filnavnene er f.eks.:
1-01 Schall - Concerto No. 4 For Violin & Orchestra In D - Allegro.mp3
1-02 Schall - Concerto No. 4 For Violin & Orchestra In D - Adagio.mp3
o.s.v.
Dem skal jeg (i dette tilfælde) have omdøbt til:
461-01.mp3
461-02.mp3
o.s.v.
Omdøbningen klarer jeg i Excel, som ender ud med en række kommandoer, som jeg afvikler i et terminalvindue. Eksempel:
mv '1-01 Schall - Concerto No. 4 For Violin & Orchestra In D - Allegro.mp3' 461-01.mp3
mv '1-02 Schall - Concerto No. 4 For Violin & Orchestra In D - Adagio.mp3' 461-02.mp3
Som det forhåbentligt fremgår kræver alt dette en masse klik og navigation i Finder. Jeg forventer ikke at det hele kan samles i een “makro”, men hvis nogen kan se muligheder for nogle små delrutiner der gør det nemmere/hurtigere, så er jeg bestemt interesseret. Hvis jeg skal fortsætte som hidtil vil det jo tage flere døgn.
Finder har nogle muligheder for masseomdøbning, du kunne tjekke. Marker filerne og omdøb bliver til Omdøb xxx emner... og en dialog popper frem med 3 mulige metoder (erstatning af tekst, tilføjelse af teks eller formatering efter regler).
Hmmm....har da tidligere omdøbt 1000-vis af filer med automator. 1 opsætning og så gik den ellers løs med at omdøbe en hel folders filer til nye filnavne med løbenummer....blot ved en enkelt aktivering ?
what's the catch ?
Tak, men det virker ikke helt som ønsket. Hvis jeg vælger "Format" og "Navn og tæller" bliver der sat fire nuller foran et-tallet. Hvis jeg vælger "Navn og indeks" bliver der slet ikke sat nuller foran.
For ciffrene 1-9 skal der sættes et nu foran. Kan man styre det?
Kenny: The catch is (ta-daaaa) ... hvordan gør man det? :-)
Towle skrev:Tak, men det virker ikke helt som ønsket. Hvis jeg vælger "Format" og "Navn og tæller" bliver der sat fire nuller foran et-tallet.
Skulle det mon være en mulighed at bruge den med de fire nuller og bagefter at lave en global omdøb af f.eks. *-0001.mp3 til *-01.mp3?
Prøv at tage et kig på Name Munger. Den har jeg tit brugt med godt resultat.
Mange tak, PallMei.
Under alle omstændigheder er denne form for omdøbning nemmere og hurtigere end at skulle ind over Excel, men det kræver to arbejdsgange: Først at omdøbe så der kommer nuller foran (Format) og dernæst at fjerne de tre første med (Erstat tekst). Jeg skal dog manuelt indtaste der forreste treciffrede nummer, men alt i alt en gevinst.
Du skal bruge GraphicConverters indbyggede browser til at foretage dine omdøbninger. Her har du fuld kontrol over navneændringerne og kan se resultatet inden du foretager den faktiske omdøbning.
jeg vil nok kigge på bash script. :) jeg ved det færreste ved noget om det, men det er et den rette værktøj til opgaven i min verden. bruge måske en dag på at få basis viden i det er værd. for det er noget der kan komme nyttig senere. så man ikke ender med at have programmer til hver eneste opgave.
jeg er ikke med hvad "461" er for et nummer?
så det er kun mp3 i "soundbites" mappen der skal omdøbes?
fik lige lavet nedenstående. den vil finde alle filer i soundbites og omdøbe dem til min bedste forståelse af din forklaring. :D det er muligvis forkert... men lige nu printer den ud "hvad den vil gør... uden at lave om på filerne. når man har gennemlæst udskrift og konkluderet den er "god" så kan vi tale videre. :D
koden kan findes her https://gist.github.com/9had/ee2136df8e97533110e2e53c65197dee
Prøv at kigge på programmerne Transnomino (gratis) eller A Better Finder Renamer (koster $), begge kan findes på MacUpdate.
Et af dem kan muligvis løse opgaven lidt lettere end den metode du bruger p.t..
/Carsten
Nihad skrev:jeg vil nok kigge på bash script. :) jeg ved det færreste ved noget om det, men det er et den rette værktøj til opgaven i min verden. bruge måske en dag på at få basis viden i det er værd. for det er noget der kan komme nyttig senere. så man ikke ender med at have programmer til hver eneste opgave.
jeg er ikke med hvad "461" er for et nummer?
Der er tale om CD'er, hvor katalognummeret er starten på filnavnet. I dette tilfælde 461. Det forekommer dog også at et katalognummer kan hedde f.eks. 437-37. Katalognummer vil altså enten være på tre eller seks cifre (inklusive bindestregen i sidstnævnte tilfælde.
så det er kun mp3 i "soundbites" mappen der skal omdøbes?
Ja.
fik lige lavet nedenstående. den vil finde alle filer i soundbites og omdøbe dem til min bedste forståelse af din forklaring. :D det er muligvis forkert... men lige nu printer den ud "hvad den vil gør... uden at lave om på filerne. når man har gennemlæst udskrift og konkluderet den er "god" så kan vi tale videre. :D
koden kan findes her https://gist.github.com/9had/ee2136df8e97533110e2e53c65197dee
Spændende. Jeg har downloadet koden (gistfile1.txt). Jeg formoder at den skal ligge i den overordnede mappe med det hieraki der er tale og skal eksekveres med kommandoen "bash gistfile1.txt" i terminalen?
Carsten: Tø-hø, jeg har faktisk A Better Finder Renamer, men har, så vidt jeg husker, aldrig brugt det.
Det ser umiddelbart forvirrende og langhåret, så det venter jeg lige lidt med at eksperimentere med, men tak for tippet.
Fil skal ligges i den mappe der indeholder albums.
Så skal den helst hedde noget der ender med “.sh” så den har den rette betegnelse og ikke forvirre senere.
Så kald den f.eks. mass_rename.sh
I terminal skal du også skrive følgende
Navigere til mappen med filen ...
cd til_mappen/
sudo chmod +x mass_rename.sh
Så den kan eksekveres.
Og så skal den køres...
./mass_rename.sh
Hmmm, der er vist noget jeg har undladt at forklare nærmere. Hierarkiet ligger på et drev der hedder "Ekstern" og her er der en mappe der hedder "DACOCD i mapper" og det er herunder alle mapper og undermapper ligger.
Da filerne skal omdøbes til katalognummer-løbenummer.mp3 (f.eks. 450-01.mp3) skal 450 indtastes manuelt ELLER kopieres fra overmappen, som i dette tilfælde hedder "DACOCD 450 Pavel Pabst - Opera and Ballet Paraphrases - Oleg Marshev".
Det fører vist for vidt, omend det ville være fantastisk hvis det kunne løses. Jeg er godt i gang med de raffinerede metoder jeg har fået hjælp til her. Det er væsentlig nemmere, men stadig et stort og tidkrævende arbejde, da jeg har 578 soundbites-mapper og kun er nået til nummer godt-og-vel 100 ;-)
jeg har fri i dag ... og familien er ikke hjemme endnu ... så hvis du tør, og har tid, så ville jeg mere end gerne kigge på det.
tænker teamviewer vil være optimal måde at få det her klaret i dag på. :D
Nihad:
Er det ikke sådan man gør?
argh... den nye version af teamviewer er bare elendig. den har lige blokeret mig fordi den tror jeg bruger den som "kommerciel" adgang...
har du mulighed at starte screensharing eller nogle andre der kender et andet måde at dele skærm på? :D
der ikke skal betales.
AnyDesk ser ud til at være en alternativ til TeamViewer...
vil du venligst installere denne så vi kan kigge på det. :D
jeg fik kigget lidt mere på scriptet selvom jeg ikke havde adgang til filerne, pga. tekniske udfordringer.
nu kigger scriptet efter "katalognummer" i mappenavn og bruger det i filnavnet.
har samtidig tilføjet variablen til "start" mappen så filen behøver ikke være et bestemt sted. den vil navigere til den oplyste sti og arbejde der i...
TODO
- læser kun trecifrede kataloger lige pt. kan ændres til 6, men den kan ikke klare begge varianter på en gang. :D
- er i debug tilstand, så den skriver blot hvad den laver, foretager ingen ændringer. så dette skal lige testes. men teorien er der.
##### 461
RENAME DACOCD 461 Pavel Pabst - Test 2/soundbites/fil-01.mp3 TO /Users/ne/tmp/macnyt/music/DACOCD 461 Pavel Pabst - Test 2/soundbites/461-01.mp3
RENAME DACOCD 461 Pavel Pabst - Test 2/soundbites/fil-02.mp3 TO /Users/ne/tmp/macnyt/music/DACOCD 461 Pavel Pabst - Test 2/soundbites/461-02.mp3
RENAME DACOCD 461 Pavel Pabst - Test 2/soundbites/fil-03.mp3 TO /Users/ne/tmp/macnyt/music/DACOCD 461 Pavel Pabst - Test 2/soundbites/461-03.mp3
Nu skulle den gerne gøre det hele automatisk. :)
https://gist.github.com/9had/ee2136df8e97533110e2e53c65197dee
Prøv at kig på Filebot, https://www.filebot.net - Det kan bruges til mange fine sager...
Hej Nihad
Mjaaaaeh, men åbenbart ikke helt. Jeg har tilpasset stien i scriptet. Her er outputtet for mappen Test, som indeholder 3 komplette undermapper:
DACOCD 501 Jersild - Alice In Wonderland; Lorentzen - Comics
DACOCD 502 Vagn Holmboe - Piano Works - Anker Blyme
DACOCD 503 H. C. Lumbye Recordings conducted by Thomas Jensen
Det går fint så længe der er max. 9 filer i en soundbites-mappe, men så går det galt:
502-01.mp3
502-02.mp3
502-03.mp3
502-04.mp3
502-05.mp3
502-06.mp3
502-07.mp3
502-08.mp3
502-09.mp3
502-i.mp3
Jeg har foretaget følgende ændringer:
# Directory variables
# Where to start, in what directory.
start="/Users/kh/Downloads/Test/"
# Subdir to look for.
subdir="Soundfiles/soundbites"
argh... kan godt se fejlen... tror jeg...
linie 34...
li=$i # otherwise keep it as it was.
skal se sådan ud...
li=${i} # otherwise keep it as it was.
bemærk forskel er li=i ... skal være li=${i}
Nihad, du er simpelthen en knop i bearnaisesovs. Du har sparet mig for en masse trivielt rutinearbejde. Tusind tak :-)
det var også god øvelse til mig. det er ikke hver dag jeg fifler med bash. :-)
hvor mange filer var der tale om? og hvor lang tid tog det?
Jeg er i gang med at tage en sikkerhedskopi af hele hierarkivet - fra een USB-disk til en anden, så jeg har ikke kørt det "for alvor", men det virker på en testmappe.
Der er dog et lille problem med de mapper som har et langt katalognummer, f.eks. DACOCD 611-12 Gunnar Berg - Historical Recordings, Vol. 1., men det lever jeg fint med.
Her er der to undermapper:
- som hver har en undermappe der hedder "soundbites".
Terminaloutputtet siger:
Katalognummer: 611-12
mv: rename /Users/kh/Downloads/Test/DACOCD 611-12 Gunnar Berg - Historical Recordings, Vol. 1/Soundfiles/soundbites/* to /Users/kh/Downloads/Test/DACOCD 611-12 Gunnar Berg - Historical Recordings, Vol. 1/Soundfiles/soundbites/611-12-01.mp3: No such file or directory
Der er i det hele taget nogle undtagelser. I stort set alle tilfælde har jeg lavet undermapper til hver CD, hvor der er tale om samlinger og her har jeg konsekvent oprettet undermapper for hvert nummer:
/Volumes/EKSTERN/DACOCD i mapper/Resten/DACOCD 631-39 Music To The Bournonville Ballets/Soundfiles/
Her er der 9 undermapper:
/Volumes/EKSTERN/DACOCD i mapper/Resten/DACOCD 631-39 Music To The Bournonville Ballets/Soundfiles/631/
/Volumes/EKSTERN/DACOCD i mapper/Resten/DACOCD 631-39 Music To The Bournonville Ballets/Soundfiles/632/
o.s.v.
Så struktur er anderledes i de kataloger der har bindestreg i?
Skal der ikke 'bare' double quotes udenom hele fra stringen ?? - og måske også til strengen ??
Ja. Jeg har nu isoleret dem i en mappe for sig. Der er 93 undermapper der har et treciffret navn.
Eksempel:
/Volumes/EKSTERN/DACOCD i mapper/Dobbelte/DACOCD 611-12 Gunnar Berg - Historical Recordings, Vol. 1/Soundfiles/611/
Det er måske "kun" et spørgsmål om at lave en særlig rutine til disse?
Towle skrev:Ja. Jeg har nu isoleret dem i en mappe for sig. Der er 93 undermapper der har et treciffret navn.
Arrrrgh, seksciffret selvfølgelig ;-)
kan du tage screenshot af mappe strukturen for disse kataloger med bindrestreg i... blot så jeg er 100% sikker på hvad du mener og hvordan det ser ud.
Kommer her
Ok, så når der stå 611-15 så vil der være undermapper
611
612
613
614
615
Der allle indeholder “soundbites” undermappe.
Yes :-)
så har jeg bygget lidt om...
det ser ud til at virke. den tager begge slags kataloger på en gang.
men jeg tænkte på... hvordan ser filerne ud, for lige nu omdøbber den alle filer i den rækkefælge de findes i mappen.
De starter med 01, 02, 03 o.s.v., så det er helt fint, hvis altså mappen er sorteret efter filnavn.
Fik du kigget på den ny kode (se link postet tidligere)? Og testet? Virker det? 😊
Øhhh, aha. Jeg er ikke fortrolig med GitHub, men hvis jeg klikker ind på dit oprindelige link, så kan jeg se at du har revideret scriptet adskillige gange. Jeg har downloadet den nyeste version og kørt på en kopi af en mappe med flere undermapper i Soundfiles.
For langt de fleste gik det som ønsket, men der var nogle undtagelser. Ved nærmere eftersyn viste det sig, at jeg havde skrevet DACOCD foran. Dem rettede jeg og kørte scriptet igen.
Tilbage er der kun en 3-4 stykker som er kløjs af andre grunde.
Alt i alt har du sparet mig for mange trælse timer med håndarbejde og det er jeg meget taknemmelig for. Tak :-)
dejlig at høre det virkede efter hensigten.
så nu ved du selv til næste gang... :D
terminal er din ven og kan spare dig til en hel masse manuel arbejde.
Nihad skrev:dejlig at høre det virkede efter hensigten.
så nu ved du selv til næste gang... :D
terminal er din ven og kan spare dig til en hel masse manuel arbejde.
:) Ja det er altid dejligt når folk laver ting for en så man kun skal skyde lortet af i Terminal :)
Du har forresten ret ang SIPS, det er dejligt hurtigt..
det er også rart at vise folk anderledes måde at arbejde på.
Nihad skrev:det er også rart at vise folk anderledes måde at arbejde på.
Til et vis punkt er jeg enig med dig, dog skal man passe lidt på med at sige Terminal er din ven, det er ikke alle der er bekendt med den , og man kan i visse tilfælde blive meget meget uvenner med den, faktisk så meget at resten af maskinen heller ikke gider tale med dig mere....
Det er også ganske fint, at folk de udvikler deres egne workflow til at lave sager med, men til tider behøver man ikke bruge flere dage på en simpel lille ting, som der allerede findes tons af scripts/programmer til. Eller opfinde ting som allerede findes , er testet og stabilt... (Og du har ret hvad ang din regex, det er fandme grimt :), Men virker det så virker det..) God aften du.
Terminalen er ikke så farlig. Man skal kende nogle få regler og så er man klar.
Udvikling af workflow er det der er sjovt for mig. Jeg bruger gerne ekstra et par timer på at forberede workflow hvis de kan spare mig dage om måneden.
Ofte hvis du bruger noget andre har opfundet kan du bruge det som det er. Men hvis du ikke ved hvordan det kan tilpasses, eller det ikke kan tilpasses så taber du stadig tid.
I dette eksampel. Jeg er eet sikker på ikke findes et program der kunne gøre det fra grafisk brugerflade.
Så alternativ var nok, kopi/paste katalognummer ind i et felt for hver mappe og lad den omdøbe nogle filer med de info. Næste mappe. 3 uger senere så har man lavet om på 500 mapper. 😊
Med bash... 2 minutter job done. Ja du har brugt et par timer om at lave bash scriptet. Men du er stadig i plus med tiden og viden. Og ingen smerter i nakken/skulderen.
De tog 2-3 dage at lave det alene af den grund at ikke al info var tilgængelig med det samme. Og pointen med opgaven ikke bar klokke klar i starten. Så der skulle laves noget der så ikke passede helt. Lave det om og finde noget nyt der også skal være der osv.
Jeg spildte faktisk mest tid på at få regex til at matche de to katalognumre. Alt andet var mere eller mindre rutinen.
Jeg må lige se om regex kan laves anderledes lidt smartere. Men den er faktisk ret effektiv, selvom den er grim. 😊