# FAQ Tips > Tipps und Tricks >  sanitize.sh : Namen per Shell säubern

## Aqualung

So, mir war gerade ein bisschen langweilig, und ich habe ein bisschen gescriptet, im VIM selbstmurmelnd:

Nebenbei habe ich entdeckt, wie man an die Schleifenvariable einer while-Schleife kommt, jaja wer die UNIX - Backticks



```
`` und tr
```

 kennt, ist fein raus. 

Also eine kleine Süßigkeit am Sonntag:



```
#!/bin/bash

ls -1 | while read l; do

   # rausfischen von unerwuenschten Zeichen
 
    nn=$(echo "`echo $l| tr " " '_' | tr '(' '_'| tr ')' '_' | tr -d "\012"`")
   
   # konservieren des alten schmutzigen Namens, gerne von GUIS erzeugt
    
    on=$(echo "`echo $l| tr -d \"\012\"`")

   # WICHTIG: Entfernen des UNIX-Zeilenumbruchs, ASCII Nr. oktal 12, siehe auch 
   # man ascii

    onn=$(echo "$on" | tr -d "\012")
    nnn=$(echo "$nn" | tr -d "\012")

    if [ -n "$onn" -a -n "$nnn" ] ; then
        echo mv "`pwd`/$onn" "`pwd`/$nnn"
        # mv "`pwd`/$onn" "`pwd`/$nnn"
     fi
     

done
```

Rookies sollten sich die Quotes auf der Zunge zergehen lassen.

Tipps von Wizards gerne genommen.

Zum Scharfschalten den Kommentar rausnehmen.

Wertvolle Synatx-Info gibt mir immer wieder:



```
 grep keineAhnung /etc/init.d/*
```

Sollte auch mit systemd nicht ganz leeeeehr sein.

Ich gebe mir selbst einen "tooo many echos used" award.

----------


## Aqualung

Schade, dass keiner den Schwachsinn der Aussage 

"an die Schleifenvariable kommen"

bemängelt hat. 

Eine Schleife ist eine Schleife ist eine Schleife (das schreib ich jetzt zur Strafe 333x) 

OT: Kenner mögen sich zur IF-SCHLEIFE auskotzen und kollegialen Flachsinn beisteuern.

----------


## Aqualung

- kann auch unerwünscht sein.



```
#!/bin/bash

ls -1 | while read l; do

   # rausfischen von unerwuenschten Zeichen
 
    nn=$(echo "`echo $l| tr " " '_' | tr '(' '_'| tr ')' '_' | tr '-' '_' | tr -d "\012"`")
   
   # konservieren des alten schmutzigen Namens, gerne von GUIS erzeugt
    
    on=$(echo "`echo $l| tr -d \"\012\"`")

   # WICHTIG: Entfernen des UNIX-Zeilenumbruchs, ASCII Nr. oktal 12, siehe auch 
   # man ascii

    onn=$(echo "$on" | tr -d "\012")
    nnn=$(echo "$nn" | tr -d "\012")

    if [ -n "$onn" -a -n "$nnn" -a  "$onn" != "$nnn"  ] ; then
        echo mv "`pwd`/$onn" "`pwd`/$nnn"
        #mv "`pwd`/$onn" "`pwd`/$nnn"
     fi
     

done
```

Wieso ich mir diese Arbeit gemacht habe? 

Um preiswerte  MP3-Player, die aus der Welt von proprietären Drecks Windows-Clienten kommen und sich äußerst gerne selbst zerlegen, just wenn man die ganze Sammlung gerippt hat, zu bearbeiten.

----------


## Aqualung

http://www.linuxforen.de/forums/showthread.php?t=158029

----------

