# [solved] Kommando "rename" in der bash zum Laufen kriegen

## strangerthandreams

Ich krieg es nicht gebacken 200 Dateien am Stück umzubenennen. Ich möchte mit rename zwei Unterstriche "__" in "(" zu verwandeln. Sicherlich gibts da auch eine andere Lösung per for-Schleife oder so, aber ich hab doch den Drang es zu kapieren. Fragt nicht nach dem Sinn - es gibt keinen. Ich nutze sonst auch nie großartig Sonderzeichen im Dateinamen.

Ein 

```
rename "s/ _/ \(/g" *.txt
```

 macht rein gar nichts. Die Textdateien haben den selben Dateinamen wie vorher auch. Dürfte wohl an meiner regex liegen.

----------

## strangerthandreams

Wieso findet man die Lösung grundsätzlich immer dann, wenn man die Frage kurz zuvor ins Forum schreibt? Ich habe da jetzt eine Stunde probiert und es geht nun auch.

 *Quote:*   

> rename " _" " (" *.txt

 

bringt den gewünschten Erfolg.

Allerdings muss man echt sagen, dass im Netz die Tutorials alle auf "s///g" rumreiten, obwohl es ohne geht.

----------

## schachti

Es gibt auch noch mmv (app-misc/mmv), das meinem ersten Eindruck nach um einiges mächtiger ist.

----------

## SinoTech

 *strangerthandreams wrote:*   

> 
> 
> [...]
> 
>  *Quote:*   rename " _" " (" *.txt 
> ...

 

Bist du dir sicher das in den Tutorials auch der "rename" Befehl benutzt wird? Laut man-page erwartet der nämlich immer drei Parameter und von regulären Ausdrücken steht dort nichts.

 *man rename wrote:*   

> 
> 
> NAME
> 
>        rename - Rename files
> ...

 

Cheers,

Sino

----------

## fangorn

Das ist Distributionsabhängig. Warum weiß ich allerdings nicht. 

Das Standardverhalten ist: 

rename von Gentoo erwartet gequotete (mit " " oder ' ') 'src' 'dest' Ersetzungen und eine Dateiliste. 

rename in Debian et al (also vermutlich *buntu, Knoppix und die meisten LiveCDs, ...) erwartet einen regulären Ausdruck "s/src/dest/" und eine Dateiliste. Ob allerdings flags wie 4 (viertes Auftreten in jeder Zeile ersetzen) oder g (jedes Auftreten in jeder Zeile ersetzen) funktionieren habe ich auch noch nicht ausprobiert. 

Edit: 

Jetzt weiß ich warum. Die Debian Version ist ein Perl Programm. Also gehe ich davon aus, dass sie all die Schwarze Magie von Regexes unterstützt. 

Diese Unterscheidung macht es natürlich schwer, eine Anleitung aus dem Internet zu verfolgen wenn man das "falsche" Programm verwendet.   :Evil or Very Mad: 

----------

