Bulk actie spaties in naam verwijderen
Bulk actie spaties in naam verwijderen
Plaats het ook maar weer onder Audio omdat het geluidsbestanden betreft.
In mijn muziekverzameling staan vele mappen met geripte cd's in .wav formaat en waarbij de spaties niet zijn vervangen door niets of door een underscore.
Als ik die mappen nu wil converteren naar .flac bestanden moeten die spaties in die namen er tussen uit, anders werkt de flac opdracht in de terminal niet.
Via 'Bestandenhernoemer' is het me niet gelukt om in de gehele naam alle spaties te verwijderen.
Voorbeeld naam: 01 The Balled Of Bill Hubbard.wav
Wel door alles na de eerste twee tekens alles van die naam te verwijderen, maar dan houd ik alleen volgnummers over. Ik kijk of het anders kan.
Weet iemand hoe ik met een terminal opdracht de spaties in alle - 14 - namen die in één map staan kan verwijderen of vervangen door een underscore?
In mijn muziekverzameling staan vele mappen met geripte cd's in .wav formaat en waarbij de spaties niet zijn vervangen door niets of door een underscore.
Als ik die mappen nu wil converteren naar .flac bestanden moeten die spaties in die namen er tussen uit, anders werkt de flac opdracht in de terminal niet.
Via 'Bestandenhernoemer' is het me niet gelukt om in de gehele naam alle spaties te verwijderen.
Voorbeeld naam: 01 The Balled Of Bill Hubbard.wav
Wel door alles na de eerste twee tekens alles van die naam te verwijderen, maar dan houd ik alleen volgnummers over. Ik kijk of het anders kan.
Weet iemand hoe ik met een terminal opdracht de spaties in alle - 14 - namen die in één map staan kan verwijderen of vervangen door een underscore?
Linux Mint 20.3 & 21.3 Cinnamon op productie PC's. Op testbak LM 21.3 & 22 Cin. APLinux op MuziekPC Gouden tips: viewtopic.php?f=1&t=3264
- MenthaSuaveolens
- Held
- Berichten: 439
- Lid geworden op: Vr 23 Mar 2018, 11:41
Re: Bulk actie spaties in naam verwijderen
Je kan in Bulkrenamer aka bestanderhernoemer eenvoudig de spaties vervangen of weglaten. Hiertoe kies je de modus vervangen en vervolgens de optie "Reguliere uitdrukking".
Geef dan \ (dit is een \ gevolgd door een spatie) op en kies bv. een leeg vervangen veld. Alle spaties verdwijnen dan uit de namen
Geef dan \ (dit is een \ gevolgd door een spatie) op en kies bv. een leeg vervangen veld. Alle spaties verdwijnen dan uit de namen
Re: Bulk actie spaties in naam verwijderen
Fantastish, MenthaSuaveolens, dat werkt prima!
Wat ik gedaan heb met de Bestandenhernoemer: de bestanden in een map geselecteerd, > Kies voor 'Vervangen' 'Alleen naam' > 'Reguliere uitdrukking' aangevinkt. In het veld 'Zoeken' de "\ " (dit is een \ gevolgd door een spatie) ingetypt en de namen wijzigden zich in de voorbeeld kolom 'Nieuwe Naam': geen spaties meer. En klik op 'Hernoemen'.
Wat ik gedaan heb met de Bestandenhernoemer: de bestanden in een map geselecteerd, > Kies voor 'Vervangen' 'Alleen naam' > 'Reguliere uitdrukking' aangevinkt. In het veld 'Zoeken' de "\ " (dit is een \ gevolgd door een spatie) ingetypt en de namen wijzigden zich in de voorbeeld kolom 'Nieuwe Naam': geen spaties meer. En klik op 'Hernoemen'.
Linux Mint 20.3 & 21.3 Cinnamon op productie PC's. Op testbak LM 21.3 & 22 Cin. APLinux op MuziekPC Gouden tips: viewtopic.php?f=1&t=3264
Re: Bulk actie spaties in naam verwijderen
En dan een stapje verder, kan dit ook via de terminal?
We hebben deze FFMPEG opdracht die de .wav converteert naar .flac.
En we hebben uit de post over cd ripper 'abcde' de wat ik maar deelopdracht noem
waarmee de spaties vervangen worden door een underscore.
Is het mogelijk om die twee samen te voegen in één opdrachtregel? Zodat bijvoorbeeld na het converteren van .wav naar .flac de spaties worden vervangen door een underscore?
Ik heb een paar pogingen gedaan om dat uit te proberen maar ik kreeg steeds een foutmelding.
Let wel, ik heb hier nooit in geoefend en het enige waar ik naar kijk is patronen in een opdrachtregel en probeer aan de hand daarvan te kijken hoe ik iets kan wijzigen. Nog zonder resultaat vandaag ;-)
We hebben deze FFMPEG opdracht die de .wav converteert naar .flac.
Code: Selecteer alles
for filename in $(ls *.wav); do ffmpeg -i "$filename" "$(echo $filename | sed 's/wav$/flac/')"; done
Code: Selecteer alles
-e 's/ /_/g'
Is het mogelijk om die twee samen te voegen in één opdrachtregel? Zodat bijvoorbeeld na het converteren van .wav naar .flac de spaties worden vervangen door een underscore?
Ik heb een paar pogingen gedaan om dat uit te proberen maar ik kreeg steeds een foutmelding.
Code: Selecteer alles
for filename in $(ls *.wav); do ffmpeg -i "$filename" "$(echo $filename | sed 's/wav$/flac/' -e 's/ /_/g')"; done
Code: Selecteer alles
for filename in $(ls *.wav); do ffmpeg -i "$filename" "$(echo $filename | sed -e 's/ /_/g' 's/wav$/flac/')"; done
Code: Selecteer alles
for filename in $(ls *.wav); do ffmpeg -i "$filename" "$(echo $filename | sed 's/wav$/flac/' | -e 's/ /_/g')"; done
Code: Selecteer alles
for filename in $(ls *.wav); do ffmpeg -i "$filename" "$(echo $filename | sed -e 's/ /_/g' | 's/wav$/flac/')"; done
Linux Mint 20.3 & 21.3 Cinnamon op productie PC's. Op testbak LM 21.3 & 22 Cin. APLinux op MuziekPC Gouden tips: viewtopic.php?f=1&t=3264
- MenthaSuaveolens
- Held
- Berichten: 439
- Lid geworden op: Vr 23 Mar 2018, 11:41
Re: Bulk actie spaties in naam verwijderen
Inderdaad, die commando's kunnen niet werken. Minder gekend is dat het for-commando niet goed werkt als je bestandsnamen met spaties hebt. Maak bv. eens een bestandsmap met enkele bestanden in waarvan er enkelen een spatie bevatten. Voer dan bv. het volgende commando uit (het zou enkel een lijst van de bestandsnamen mogen opleveren).
Om het for-commando met bestandsnamen te doen werken die spaties bevatten, zal je de omgevingsvariable IFS moeten aanpassen.
We hernoemen alle bestanden met een spatie er in naar een bestandsnaam met een underscore in plaats van de spatie (we gebruiken tr of translate)
Code: Selecteer alles
for filename in $(ls); do echo "$filename";done
Code: Selecteer alles
IFS=$(echo -en "\n\b") #pas IFS aan
for filename in $(ls); do echo "$filename";done #nu werkt de for-loop goed !
Code: Selecteer alles
for filename in $(ls); do mv -T "$filename" "$(echo $filename | tr -s [:blank:] [_])";done
Re: Bulk actie spaties in naam verwijderen
Dank weer, hier moet ik eens goed naar kijken. Op dit moment duizelt het me ;-)
Linux Mint 20.3 & 21.3 Cinnamon op productie PC's. Op testbak LM 21.3 & 22 Cin. APLinux op MuziekPC Gouden tips: viewtopic.php?f=1&t=3264
Re: Bulk actie spaties in naam verwijderen
Oké
Uitgeprobeerd en gezien wat het doet. Wat ik denk dat voor mij nu het meest praktische is is de laatste:
En kan die dan samen met onderstaande (.wav converteren naar .flac) in een 'opdracht'.
Dan gaat het als volgt:
En dat werkt! Bedankt u allen!
Edit een poosje later: Bij een tweede poging ging het toch niet: twee opdrachten in een keer geven lukte niet. Wat ik er zo snel uit begrijp is dat het commando ieder los woord als een bestand ziet.
Uitgeprobeerd en gezien wat het doet. Wat ik denk dat voor mij nu het meest praktische is is de laatste:
Code: Selecteer alles
for filename in $(ls); do mv -T "$filename" "$(echo $filename | tr -s [:blank:] [_])";done
Code: Selecteer alles
for filename in $(ls *.wav); do ffmpeg -i "$filename" "$(echo $filename | sed 's/wav$/flac/')"; done
Code: Selecteer alles
for filename in $(ls); do mv -T "$filename" "$(echo $filename | tr -s [:blank:] [_])";done
for filename in $(ls *.wav); do ffmpeg -i "$filename" "$(echo $filename | sed 's/wav$/flac/')"; done
Edit een poosje later: Bij een tweede poging ging het toch niet: twee opdrachten in een keer geven lukte niet. Wat ik er zo snel uit begrijp is dat het commando ieder los woord als een bestand ziet.
Linux Mint 20.3 & 21.3 Cinnamon op productie PC's. Op testbak LM 21.3 & 22 Cin. APLinux op MuziekPC Gouden tips: viewtopic.php?f=1&t=3264
Re: Bulk actie spaties in naam verwijderen
Linux Mint 20.3 & 21.3 Cinnamon op productie PC's. Op testbak LM 21.3 & 22 Cin. APLinux op MuziekPC Gouden tips: viewtopic.php?f=1&t=3264
- MenthaSuaveolens
- Held
- Berichten: 439
- Lid geworden op: Vr 23 Mar 2018, 11:41
Re: Bulk actie spaties in naam verwijderen
Ja, maar heb je IFS wel gezet vooraleer je die acties hebt uitgevoerd? Het is daarom beter een shell-script te maken, als je die acties veelvuldig wilt gaan gebruiken.
Re: Bulk actie spaties in naam verwijderen
Ah, ik heb een middagdutje gedaan en zie:
Eerst doen:
Wel krijg ik de boodschappe:
>>[swscaler @ 0x562e28a046c0] deprecated pixel format used, make sure you did set range correctly
>>[flac @ 0x562e2899eb80] Frame rate very high for a muxer not efficiently supporting it.
>>Please consider specifying a lower framerate, a different muxer or -vsync 2
Framerate staat op 90k fps, maar de geluidsbestanden gaan verder prima!
.
Edit: @MenthaSuaveolens, ik zag jouw reactie pas toen ik de mijne al had geschreven.
Eerst doen:
Code: Selecteer alles
IFS=$(echo -en "\n\b") #pas IFS aan
for filename in $(ls); do echo "$filename";done #nu werkt de for-loop goed !
for filename in $(ls); do mv -T "$filename" "$(echo $filename | tr -s [:blank:] [_])";done
for filename in $(ls *.wav); do ffmpeg -i "$filename" "$(echo $filename | sed 's/wav$/flac/')"; done
>>[swscaler @ 0x562e28a046c0] deprecated pixel format used, make sure you did set range correctly
>>[flac @ 0x562e2899eb80] Frame rate very high for a muxer not efficiently supporting it.
>>Please consider specifying a lower framerate, a different muxer or -vsync 2
Framerate staat op 90k fps, maar de geluidsbestanden gaan verder prima!
.
Edit: @MenthaSuaveolens, ik zag jouw reactie pas toen ik de mijne al had geschreven.
Linux Mint 20.3 & 21.3 Cinnamon op productie PC's. Op testbak LM 21.3 & 22 Cin. APLinux op MuziekPC Gouden tips: viewtopic.php?f=1&t=3264
Re: Bulk actie spaties in naam verwijderen
Tja, een shell-script maken, dat heb ik dus nog nooit gedaan. Dan moet ik daar eerst eens een lesje in volgen.Ja, maar heb je IFS wel gezet vooraleer je die acties hebt uitgevoerd? Het is daarom beter een shell-script te maken, als je die acties veelvuldig wilt gaan gebruiken.
Linux Mint 20.3 & 21.3 Cinnamon op productie PC's. Op testbak LM 21.3 & 22 Cin. APLinux op MuziekPC Gouden tips: viewtopic.php?f=1&t=3264
Wie is er online
Gebruikers op dit forum: Geen geregistreerde gebruikers en 6 gasten