← Back to team overview

sslug-teknik team mailing list archive

Re: rename/copy

 

On Sun, 18 Jul 2004 16:46:27 +0200 Christian Iversen wrote:

> Anders Bo Rasmussen wrote:
>
>> Findes der en rename-lignende kommando, der gør det samme som rename,
>> man laver en kopi i stedet.
>> 
>> Så hvis man har filerne: a.test b.test c.test
>> og kører: rename test tst *.test
>> Så bliver der reelt kørt:
>> 
>> cp a.test a.tst
>> cp b.test b.tst
>> cp c.test c.tst
>
> Det er en glimrende bash-one-liner. 
...
> dernæst vises navnene uden extension:
>   
> $ for x in *.a; do echo ${x%.a}; done

Ok. Jeg skulle nok have sagt at jeg ville have en mere generel udgave -
ikke bare til at skifte extensions.  Det skal virke som rename.

Man kun fx lave et shellscript:

$FILES=${3-}  #det skrives ikke sådan men jeg kan ikke lige huske hvordan.
ls $FILES | xargs -iX cp X X-foobar
rename $1 $2 *-foobar
rename -foobar "" *-foobar


Det er selvfølgelig ikke helt godt, da det går helt galt hvis man kører
scriptet to gange samtidig i samme directory. Et andet problem er at man
ikke må have nogle *-foobar filer. Derudover er der sikkert nogle ting
jeg har overset.

-- 
41 6E 64 65 72 73 


Follow ups

References