Anzeige:
Results 1 to 4 of 4

Thread: sanitize.sh : Namen per Shell säubern

  1. #1
    Registrierter Benutzer
    Join Date
    Jan 2008
    Posts
    2.488

    Lightbulb sanitize.sh : Namen per Shell säubern

    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

    Code:
    `` und tr
    kennt, ist fein raus.

    Also eine kleine Süßigkeit am Sonntag:

    Code:
    #!/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:

    Code:
     grep keineAhnung /etc/init.d/*
    Sollte auch mit systemd nicht ganz leeeeehr sein.

    Ich gebe mir selbst einen "tooo many echos used" award.
    Last edited by Aqualung; 01.09.13 at 19:20. Reason: schnapsnummer 2345

  2. #2
    Registrierter Benutzer
    Join Date
    Jan 2008
    Posts
    2.488

    Red face In der Ecke steh ich nun

    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.
    Last edited by Aqualung; 04.09.13 at 19:40.

  3. #3
    Registrierter Benutzer
    Join Date
    Jan 2008
    Posts
    2.488

    V1.1

    - kann auch unerwünscht sein.

    Code:
    #!/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.
    Last edited by Aqualung; 07.09.13 at 16:47.

  4. #4

Similar Threads

  1. aliases
    By BBTE in forum Linux Allgemein
    Replies: 6
    Last Post: 12.12.02, 13:49
  2. Auflösung ändern per shell
    By Seidl in forum System installieren und konfigurieren
    Replies: 4
    Last Post: 22.11.02, 17:44
  3. automatischer reboot
    By boxa in forum Anwendungen Allgemein, Software
    Replies: 7
    Last Post: 09.08.02, 11:58
  4. KDE Screenlock per shell
    By marcdevil in forum Windowmanager
    Replies: 1
    Last Post: 22.02.02, 16:17
  5. Replies: 7
    Last Post: 11.02.01, 10:21

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •