On 26.03.2013 13:54, Arjen Bax wrote:
> Op 26 maart 2013 10:51 heeft Max <[email protected]> het volgende 
> geschreven:
>> (Kleine aanpassing mp3>${EXT} tov vorige reactie)
>>
>> Werkt dit niet gewoon? Lijstje met extensies zelf aanpassen.
>>
>> #!/bin/bash
>>
>> for EXT in mp3 MP3 ogg OGG; do
>>     find . -type f -regex ".*[ ].${EXT}" | sort -d -r | while read X; do
>>         Y="$(echo ${X} | sed "s|[ ]\.${EXT}|.${EXT}|")"
>>         [ -f "${X}" ] && mv -v "${X}" "${Y}"
>>     done
>> done
>> exit
> 
> Dat lijkt me niet zo effici�nt, die 'find' binnen de 'for'. Daardoor
> wordt het find-commando (in dit geval) 4 maal uitgevoerd op dezelfde
> directory-tree, waarbij steeds een andere subselectie wordt genomen.
> Bovendien worden bestanden met mixed-case extensies (.Mp3, .Ogg)
> overgeslagen.
> Een robuust algoritme doorloopt in ��n keer de directory-tree, vist
> daar de te wijzigen filenamen uit en hernoemt die. In 1 regel:
> 
> find -depth -name '* .*' -print0 | perl -wn0e '$orig = $_;
> s/\s+\././g; rename($orig, $_) or warn "$orig: $!\n"'
> 
> Highlights:
> - snel (slechts twee processen, parallel)
> - geen problemen met het quoten van spaties
> - geen probleem met filenamen die met een min-teken beginnen
> - doet ook directory's
> 
> 
> Vriendelijke groeten,
> Arjen Bax

Ligt eraan, als je deze actie eenmalig wilt uitvoeren om een paar
bestanden te hernoemen dan is een simpel scriptje wel voldoende lijkt
me. Anders zou ik gewoon een grafische client als pyrenamer gebruiken.



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Antwoord per e-mail aan