Bulk rename files

05.11.2013 | Bash

rename versteht regex, so daß man Extensions auch einfach so ändern kann:benennt alle Dateien mit der Extension tlt in php-Dateien um. rename 's/\.tlt$/\.php/' *.tltKomplizierte Version: #! /bin/bash

rename versteht regex, so daß man Extensions auch einfach so ändern kann:

benennt alle Dateien mit der Extension tlt in php-Dateien um.

 


rename 's/\.tlt$/\.php/' *.tlt

 

Komplizierte Version:

 


#! /bin/bash
for file in *.tlt
do
        mv $file `echo $file | sed 's/\(.*\.\)tlt/\1php/'`
 done

echo "done."

 

benennt auch alle Dateien mit der Extension tlt in php-Dateien um.

Seit neuer perl-Version funktioniert rename nur noch per sudo !

Umbenennen mit Zähler (komplizierte Version):

 


#! /bin/bash

start=1
count=$start
offset=3

echo
echo "Renaming files to : "
echo "--------------------"

for f in *.mp3; do
    echo -e "$f"  "\t --> " "$(printf "%02d" $count)-"${f:$offset}""
    count=`expr $count + 1`

done


read -p "Are you sure you want to continue? <y/N> " prompt

if [[ $prompt =~ [yY](es)* ]]
then
count=$start
 for f in *.mp3; do
     mv "$f"  $(printf "%02d" $count)-"${f:$offset}"
     count=`expr $count + 1`
 done
else
  exit 0
fi
echo "done."
echo
ls -ls



 

Vorhandener Zähler, aber blöde Formatierung:

entfernt Klammern um den Zähler,also macht aus

 


(01) Songititle auch mit Leerzeichen dazwischen.mp3

 

das:

 


01 - Songititle auch mit Leerzeichen dazwischen.mp3

rename 's/\((.*)\)/$1\ \-/' *.mp3

 

Analyse

Entwurf

Development

Launch